The subject of the research is the problem of optimizing interaction between services within microservice architecture (MSA). The object of the study is the mechanism of asynchronous communication, implemented through message brokers, as a key means to address the shortcomings of synchronous calls, such as cascading failures and high latencies. The author thoroughly examines aspects of the topic such as comparative characteristics of modern queue technologies, reliability patterns, and practical application scenarios. Special attention is given to a detailed analysis of two of the most popular message brokers – Apache Kafka and RabbitMQ – in terms of their architectural features, performance, fault tolerance, and suitable use cases in various business contexts. The study also includes specific implementation examples from the fields of e-commerce and financial technologies. The research methodology is based on comparative analysis and experimental verification. Practical tests were conducted in a controlled environment using Docker to measure the key performance indicators and reliability of Kafka and RabbitMQ. The scientific novelty of the work lies in the comprehensive comparison of message brokers based on both the theoretical analysis of architectural models and empirical data obtained during experimental testing of throughput, latencies, and resource consumption. The results of the study confirm that Kafka demonstrates maximum performance for high-load data streams, while RabbitMQ is more efficient for scenarios requiring low latency and complex message routing. An important conclusion justifies the necessity of choosing a technology based on the specific requirements of the task rather than a one-size-fits-all approach. The article also offers practical recommendations for overcoming typical challenges in asynchronous systems (e.g., using Saga patterns) and discusses current trends in the field. The key takeaway is the conclusion regarding the feasibility of a hybrid approach that combines synchronous and asynchronous interactions to build balanced and reliable microservice systems.
Bazhenov et al. (Tue,) studied this question.