Communication brokers are essential in modern software development to enable efficient, reliable, and scalable message passing within microservices architectures. However, flawed or delayed communication could be a massive setback that prevents achieving real-time analytics. This paper compares four prominent brokers: Apache Kafka, ActiveMQ Artemis, RabbitMQ, and NATS. Their performance is evaluated in terms of latency, throughput, scalability, and reliability, particularly in the clients implemented in the Java (SpringBoot) and Python languages. Experiments that were conducted in a standardized environment showed that Kafka offers great performance in real-time data processing with its low latency and high reliability. ActiveMQ Artemis provides reliable performance but not without drawbacks as it shows much higher latency. RabbitMQ showed competitive latency but faced some issues in cases of network disruptions. NATS, designed for low-latency and high-throughput scenarios, showed excellent scalability and throughput in all the different scenarios.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

On the Impact of Message Brokers Implementations in the Choreography of Microservices

  • Ahmed Gamal Ibrahim,
  • Rui Pedro Lopes,
  • José Rufino,
  • Paulo Leitão

摘要

Communication brokers are essential in modern software development to enable efficient, reliable, and scalable message passing within microservices architectures. However, flawed or delayed communication could be a massive setback that prevents achieving real-time analytics. This paper compares four prominent brokers: Apache Kafka, ActiveMQ Artemis, RabbitMQ, and NATS. Their performance is evaluated in terms of latency, throughput, scalability, and reliability, particularly in the clients implemented in the Java (SpringBoot) and Python languages. Experiments that were conducted in a standardized environment showed that Kafka offers great performance in real-time data processing with its low latency and high reliability. ActiveMQ Artemis provides reliable performance but not without drawbacks as it shows much higher latency. RabbitMQ showed competitive latency but faced some issues in cases of network disruptions. NATS, designed for low-latency and high-throughput scenarios, showed excellent scalability and throughput in all the different scenarios.