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.
Keywords
MSC
68-04
Cite this article
@article{cai-5689,
author = {Justas Kazanavičius and Dalius Mažeika},
title = {Evaluation of Microservice Communication While Decomposing Monoliths},
journal = {Computing and Informatics},
volume = {42},
number = {1},
pages = {1--36},
year = {2023},
issn = {1335-9150},
doi = {10.31577/cai_2023_1_1}
}
TY - JOUR AU - Justas Kazanavičius AU - Dalius Mažeika TI - Evaluation of Microservice Communication While Decomposing Monoliths JO - Computing and Informatics VL - 42 IS - 1 SP - 1 EP - 36 PY - 2023 SN - 1335-9150 DO - 10.31577/cai_2023_1_1 UR - https://doi.org/10.31577/cai_2023_1_1 KW - Microservice communication KW - cloud computing KW - software engineering KW - HTTP rest KW - RabbitMQ KW - Kafka KW - gRPC KW - GraphQL ER -
Kazanavičius, J., & Mažeika, D. (2023). Evaluation of Microservice Communication While Decomposing Monoliths. Computing and Informatics, 42(1), 1–36. https://doi.org/10.31577/cai_2023_1_1