ПОРІВНЯЛЬНИЙ АНАЛІЗ МІЖСЕРВІСНОЇ ВЗАЄМОДІЇ З ВИКОРИСТАННЯМ REST І GRPC У СЕРЕДОВИЩІ .NET 8
DOI:
https://doi.org/10.30837/0135-1710.2026.189.095Ключові слова:
мікросервісна архітектура, міжсервісна взаємодія, розподілені системи, продуктивність, затримка відповіді, пропускна здатністьАнотація
Предметом дослідження є підходи до реалізації синхронної міжсервісної взаємодії в мікросервісній архітектурі із застосуванням REST і gRPC у середовищі .NET 8. Мета роботи – провести порівняльний аналіз REST API на базі HTTP/1.1 і JSON і gRPC-сервісу на основі HTTP/2 і Protocol Buffers, а також оцінити їх вплив на продуктивність, обсяг мережевого обміну й використання серверних ресурсів. З огляду на окреслену мету необхідно виконати такі завдання: проаналізувати архітектурні розбіжності REST і gRPC; реалізувати два сервіси з однаковою прикладною логікою в середовищі ASP.NET Core 8; забезпечити однакові умови виконання експерименту; виміряти середню затримку відповіді, P95, кількість успішних операцій за секунду, обсяг переданих даних, а також використання CPU і RAM; інтерпретувати досягнуті результати, зважаючи на межі застосування кожного підходу. Методи дослідження. Упроваджено порівняльний аналіз архітектурних підходів, експериментальне навантажувальне тестування й кількісне оцінювання продуктивності. Реалізовано два сервіси з ідентичною прикладною логікою та спільним in-memory набором даних без звернення до зовнішньої бази даних. Навантаження генерувалося за допомогою Grafana k6 у режимі constant-arrival-rate. Результати дослідження. У межах експерименту gRPC на HTTP/2 з Protocol Buffers продемонстрував нижчі значення середньої затримки та P95, менший обсяг мережевого обміну й вищу пропускну здатність, якщо порівнювати з REST API на HTTP/1.1 з JSON. Загальний обсяг обміну для gRPC виявився приблизно у 2,5 раза меншим, а на верхніх рівнях навантаження середня затримка була нижчою орієнтовно в 1,7–1,8 раза. Крім того, для gRPC зафіксовано більш помірне використання процесорних і пам’яттєвих ресурсів серверного вузла. Висновки. Досягнуті результати підтверджують доцільність застосування gRPC насамперед для внутрішньої міжсервісної взаємодії, де критичними є низькі затримки, висока пропускна здатність і ефективне використання мережевих ресурсів. REST доцільно застосовувати в сценаріях, де пріоритетними є сумісність, простота інтеграції, прозорість HTTP-інтерфейсу й зручність використання в публічних API.
Посилання
Dragoni, N., Giallorenzo, S., Lluch Lafuente, A., Mazzara, M., Montesi, F., Mustafin, R., Safina, L. (2017), "Microservices: Yesterday, Today, and Tomorrow", In: Present and Ulterior Software Engineering. Cham: Springer, pp. 195–216. DOI: https://doi.org/10.1007/978-3-319-67425-4_12
Velepucha, V., Flores, P. (2023), "A Survey on Microservices Architecture: Principles, Patterns and Migration Challenges", IEEE Access, Vol. 11, pp. 88339–88358. DOI: https://doi.org/10.1109/ACCESS.2023.3305687
Weerasinghe, L. D. S. B., Perera, I. (2022), "Evaluating the Inter-Service Communication on Microservice Architecture»", 7th International Conference on Information Technology Research (ICITR), pp. 1–6. DOI: https://doi.org/10.1109/ICITR57877.2022.9992918
Bogner, J., Kotstein, S., Pfaff, T. (2023), "Do RESTful API design rules have an impact on the understandability of Web APIs?", Empirical Software Engineering, Vol. 28, Article 132. DOI: https://doi.org/10.1007/s10664-023-10367-y
Fielding, R. T., Nottingham, M., Reschke, J. (2022), HTTP Semantics. RFC 9110. RFC Editor. DOI: https://doi.org/10.17487/RFC9110
Thomson, M., Benfield, C. (2022), HTTP/2. RFC 9113. RFC Editor. DOI: https://doi.org/10.17487/RFC9113
Fielding, R. T., Nottingham, M., Reschke, J. (2022), HTTP/1.1. RFC 9112. RFC Editor. DOI: https://doi.org/10.17487/RFC9112
Maltsev, E. Y., Muliarevych, O. (2024), "Beyond JSON: Evaluating Serialization Formats for Space-Efficient Communication", Advances in Cyber-Physical Systems, Vol. 9, No. 1, pp. 9–15. DOI: https://doi.org/10.23939/acps2024.01.009
Niswar, M., Arisandy Safruddin, R., Bustamin, A., Aswad, I. (2024), "Performance evaluation of microservices communication with REST, GraphQL, and gRPC", International Journal of Electronics and Telecommunications, Vol. 70, No. 2, pp. 429–436. DOI: https://doi.org/10.24425/ijet.2024.149562
Microsoft. Compare gRPC services with HTTP APIs. URL: https://learn.microsoft.com/en-us/aspnet/core/grpc/comparison
Bolanowski, M., Żak, K., Paszkiewicz, A., Ganzha, M., Paprzycki, M., Sowiński, P., Lacalle, I., Palau, C. E. (2022), "Efficiency of REST and gRPC Realizing Communication Tasks in Microservice-Based Ecosystems", In: New Trends in Intelligent Software Methodologies, Tools and Techniques. IOS Press, pp. 97–108. DOI: 1 https://doi.org/0.3233/FAIA220242
Jarmoszewicz, J., Iwanowski, P., Plechawska-Wójcik, M. (2024), "Analysis of the performance and scalability of microservices depending on the communication technology", Journal of Computer Sciences Institute, Vol. 33, pp. 323–330. DOI: https://doi.org/10.35784/jcsi.6499
Tkachov, V. (2026), "Method of restoring critical information system services on a mobile platform under conditions of controlled degradation", Automated Control Systems and Automation Devices, No. 188, pp. 78–97. DOI: https://doi.org/10.30837/0135-1710.2026.188.078
Mykhailichenko, I. V., Liashenko, O. S. (2025), "Resource usage prediction model in cloud computing using Informer architecture", Automated Control Systems and Automation Devices, No. 186, pp. 17–28. DOI: https://doi.org/10.30837/0135-1710.2025.186.017
Glavchev, M. I., Glavchev, D. M., Panchenko, V. I. (2025), "Evaluating the effectiveness of open-source solutions for monitoring and load balancing in microservice applications ", Automated Control Systems and Automation Devices, No. 187, pp. 182–199. DOI: https://doi.org/10.30837/0135-1710.2025.187.182
UA
EN 


