A list of message queue systems that enable asynchronous communication between distributed systems.
Overview
Message Queue Systems
Message queue systems are middleware that enable asynchronous communication between distributed systems. Various systems exist with different characteristics such as high-throughput streaming processing, low-latency messaging, and cloud-native managed services. This list introduces major message queue systems including RabbitMQ, Apache Kafka, Amazon SQS, Redis, ActiveMQ, NATS, and Apache Pulsar.
message queue
distributed systems
asynchronous communication
middleware
event streaming
microservices
| code | slug | name | description | cloudNative | deployment | latency | messageReplay | persistence | protocols | throughput | type |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | rabbitmq | RabbitMQ | An open-source message broker with flexible routing capabilities. | false | ["self-hosted","cloud-managed"] | 1-20ms | false | true | ["AMQP","MQTT","STOMP"] | ~1M messages/sec | message-broker |
| 02 | apache-kafka | Apache Kafka | A high-throughput distributed event streaming platform. | false | ["self-hosted","managed"] | 2-10ms | true | true | ["Kafka Protocol"] | 10M+ messages/sec | event-streaming |
| 03 | amazon-sqs | Amazon SQS | A fully managed serverless message queue service provided by AWS. | true | ["managed"] | 10-100ms | false | true | ["AWS API"] | ~300K messages/sec | managed-queue |
| 04 | redis-streams | Redis Streams | Streaming capabilities provided by Redis, an in-memory data store. | false | ["self-hosted","managed"] | Ultra Low | true | optional | ["Redis Protocol"] | Very High | in-memory-stream |
| 05 | apache-activemq | Apache ActiveMQ | A traditional JMS-based enterprise message broker. | false | ["self-hosted"] | Medium | false | true | ["JMS","AMQP","MQTT","STOMP","OpenWire"] | Medium | message-broker |
| 06 | nats | NATS | A cloud-native lightweight messaging system. | true | ["self-hosted","managed"] | Ultra Low | true | optional | ["NATS Protocol"] | Very High | cloud-native-messaging |
| 07 | apache-pulsar | Apache Pulsar | A distributed messaging system with multi-tenancy and tiered storage. | true | ["self-hosted","managed"] | Low | true | true | ["Pulsar Protocol"] | Very High | event-streaming |
| 08 | google-pubsub | Google Cloud Pub/Sub | A fully managed messaging service provided by Google Cloud. | true | ["managed"] | Low | true | true | ["Google Cloud API"] | Very High | managed-queue |
| 09 | azure-service-bus | Azure Service Bus | An enterprise integration messaging service provided by Microsoft Azure. | true | ["managed"] | Low-Medium | false | true | ["AMQP","HTTP/REST","SBMP"] | High | managed-queue |
| 10 | rocketmq | Apache RocketMQ | A highly available distributed messaging platform developed by Alibaba. | true | ["self-hosted","managed"] | Low | true | true | ["RocketMQ Protocol"] | Very High | message-broker |
- RabbitMQ - Open Source Message Broker official
- Apache Kafka - Distributed Streaming Platform official
- Amazon Simple Queue Service (SQS) official
- Apache ActiveMQ official
- NATS - Cloud Native Messaging official
- Apache Pulsar - Distributed Pub-Sub Messaging System official
- RabbitMQ vs Apache Kafka | Confluent reference
- Messaging Platform Comparison: Apache Pulsar vs RabbitMQ vs NATS JetStream reference