Performance benchmarking of communication patterns in microservice architecture
Abstract
Microservice architecture is applied for cloud-native applications to decompose it into small functional units. A microservices-based application is a distributed low coupling system running on multiple processes or services, and therefore proper communication patterns between microservices must be defined. Communication has a significant impact on the application's performance and must be adapted depending on the application architecture, exchange data, deployment approach, and service topology. The study aimed to perform benchmarks of synchronous and asynchronous communication patterns between microservices and determine use cases for their application. The application-oriented criteria were introduced to evaluate communication patterns, and a microservice-based application was developed to perform experiments. Communication technologies based on remote procedure invocation and messaging protocols have been analyzed, and corresponding advantages and disadvantages have been identified.