Implementing interprocess communication in microservice architecture
Main Article Content
Abstract
One of the main problems that needs to be solved when designing a web application with a microservice architecture is the choice of a mechanism by which services will interact with each other. The article explores synchronous and asynchronous approaches to the implementation of interprocess communication, a comparative analysis is carried out based on existing research to identify the advantages and disadvantages of each of these approaches. An analysis of the results of the experiments showed that asynchronous interaction of microservices implemented on the basis of the AMQP protocol provides better performance and higher availability of microservices. Asynchronous form of microservice communication implemented using REST or gRPC can offer higher throughput than an asynchronous method when the system load is relatively light. As the number of service users increases, an asynchronous communication method using message queues is more appropriate. Besides this way of messaging between microservices is more reliable. Message queues are also the best choice when you need to synchronize data between services. The implementation of an asynchronous way of interaction between microservices in a web application using the RabbitMQ message broker is considered.
Article Details
References
2. Fernandes,J.L., Lopes,I.C., Rodrigues, J.J.,Ullah,S. Performance evaluation of RESTful web services and AMQP protocol. Fifth International Conference on Ubiquitous and Future Networks, Da Nang, Vietnam, July 2013.
3. Hong,X.J., Yang, H.S.,Kim, Y.H. Performance Analysis of RESTful API and RabbitMQ for Microservice Web Application. International Conference on Information and Communication Technology Convergence (ICTC), Jeju, Korea (South), October 2018.
4. Gurudat, K.S. andPadmashree, T. A Better Solution TowardsMicroservices Communication In Web Application: A Survey. International Journal of Innovative Research in Computer Science & Technology (IJIRCST), vol. 7, issue: 3, May 2019, pp. 71-74.
5. Richardson, Ch. Microservices Patterns: With examples in Java. –Manning Publications, 2019. – 520p.
6. Fielding, R. Architectural styles and the design of network-based software architectures. Doctoral dissertation, University of California, Irvine, 2000.