МЕТОДИ ВЗАЄМОДІЇ МОДУЛІВ ПЛАТФОРМИ ВІДДАЛЕНОГО ВИКЛИКУ ПРОЦЕДУР GRPC

Автор(и)

DOI:

https://doi.org/10.35546/kntu2078-4481.2024.4.32

Ключові слова:

комп'ютерні ресурси, розподілені системи, gRPC, мікросервісна архітектура, взаємодія модулів, синхронні та асинхронні виклики, публікація-підписка, брокер, хмарні обчислення

Анотація

У статті досліджуються методи взаємодії модулів у платформі віддаленого виклику процедур gRPC з метою підвищення ефективності розподілених програмних систем, побудованих на основі мікросервісної архітектури. Основною проблемою є вибір оптимальних методів взаємодії між модулями в умовах зростаючих вимог до продуктивності, масштабованості та надійності. Традиційні методи комунікації, такі як RESTful API, не завжди забезпечують необхідну ефективність, особливо при високих навантаженнях та вимогах до низьких затримок, що може призводити до неефективного використання ресурсів, збільшення часу розробки та підвищення експлуатаційних витрат. У ході дослідження було розроблено програмний додаток, який моделює різні сценарії взаємодії між модулями з використанням gRPC. Проведені експерименти показали, що використання асинхронних викликів та стрімінгових RPC дозволяє зменшити затримки та підвищити пропускну здатність, а також знизити навантаження на процесор та пам'ять. Це сприяє ефективнішому використанню комп'ютерних ресурсів, зменшенню експлуатаційних витрат та часу, необхідного для розробки та розгортання системи. Впровадження моделі публікація-підписка та інтеграція з брокерами повідомлень, такими як Kafka, підвищує стійкість системи до збоїв, забезпечує асинхронну взаємодію та зменшує час розгортання нових модулів. Однак це потребує додаткового налаштування та може збільшити складність системи. Отримані результати дозволяють розробникам приймати обґрунтовані рішення щодо вибору методів взаємодії, що сприяє підвищенню продуктивності системи, економії апаратних ресурсів, скороченню часу розробки та розгортання, а також зниженню загальних витрат на експлуатацію програмних систем.

Посилання

About gRPC. [Електронний ресурс]. Режим доступу: https://grpc.io/about/. Дата доступу: 19.11.2024.

Babal H. gRPC Microservices in Go. Manning. 2023. 256p. ISBN9781633439207.

Indrasiri K., Kuruppu D. gRPC: Up and Running: Building Cloud Native Applications with Go and Java for Docker and Kubernetes. O`REILLY. 2020. 320p. ISBN 1492058335

Mamchych O., Volk M. A unified model and method for forecasting energy consumption in distributed computing systems based on stationary and mobile devices. Radioelectronic and Computer Systems, [S.l.], v. 2024, n. 2, pp. 120135. DOI: https://doi.org/10.32620/ reks.2024.2.10.

Newman S. Building Microservices: Designing Fine-Grained Systems – O'Reilly Media, 2015. 280p. ISBN 978-1491950357.

Jean К. gRPC Golang Master Class: Build Modern API & Microservices. Udemy. [Електронний ресурс] Режим доступу: https://www.udemy.com/course/grpc-golang/. Дата доступу: 19.11.2024.

Ibyram B., Huss R. Kubernetes Patterns: Reusable elements for designing cloud native applications, 2nd Edition. Red Hat Developer. 2023. 352p. ISBN 978-1-4919-5633-8.

Protocol Buffers Documentation. Google Developers. [Електронний ресурс] Режим доступу: https://developers.google.com/protocol-buffers/docs/overview. Дата доступу: 19.11.2024.

REST vs gRPC: Comparing HTTP APIs. [Електронний ресурс]. Режим доступу: https://refine.dev/blog/grpcvs-rest/. Дата доступу: 19.11.2024.

Katihar E. REST vs gRPC: Use Cases, Key Differences and Benefits. Medium. [Електронний ресурс]. Режим доступу: https://medium.com/@mail.ekansh/rest-vs-grpc-design-architecture-and-production-considerations-0a6369cd0a8c. Дата доступу: 18.11.2024.

##submission.downloads##

Опубліковано

2024-12-30