The Evaluation of Microservice Communication While Decomposing Monoliths

Authors

  • Justas Kazanavičius Faculty of Fundamental Sciences, Vilnius Gediminas Technical University, LT-10223 Vilnius, Lithuania
  • Dalius Mažeika Faculty of Fundamental Sciences, Vilnius Gediminas Technical University, LT-10223 Vilnius, Lithuania

DOI:

https://doi.org/10.31577/cai_2023_1_1

Keywords:

Microservice communication, cloud computing, software engineering, HTTP rest, RabbitMQ, Kafka, gRPC, GraphQL

Abstract

One of the biggest challenges while migrating from a monolith architecture to a microservice architecture is to define a proper communication technology. In monolith applications, communication between components is performed using the in-process method or function calls, while different communication methods have to be established to achieve the same functionality in a microservice architecture. A microservices-based application is a distributed system running on multiple processes or services. Therefore, microservices must interact using inter-process communication technologies. This research aims to evaluate synchronous and asynchronous communication technologies and determine particular cases for their application while decomposing monolith into cloud-native applications. Five communication technologies, such as HTTP Rest, RabbitMQ, Kafka, gRPC, and GraphQL, have been evaluated and compared by proposed evaluation criteria. The advantages and disadvantages of each communication technology were identified in the context of microservices architecture.

Downloads

Download data is not yet available.

Downloads

Published

2023-05-08

How to Cite

Kazanavičius, J., & Mažeika, D. (2023). The Evaluation of Microservice Communication While Decomposing Monoliths. Computing and Informatics, 42(1), 1–36. https://doi.org/10.31577/cai_2023_1_1