Comparison | Kafka | RabbitMQ | ActiveMQ |
Starting Year | 2011 | 2007 | 2003 |
Architecture | Distributed real-time streaming platform | General purpose message broker, based around message queues. | JMS based specification Java messaging system |
Ordering Guarantees | Guarantees, Support strict ordering | Guarantees, Support strict ordering | Not Guarantees, Only Guarantees Data transfer |
Event Reply | Support | Not Support | Not Support |
Retention | Period of time | As soon as the consumer picks up that message | As soon as the consumer picks up that message |
Operation Complexity | High | lower than Kafka | lower than Kafka |
Advantage | *Good for Streaming platform * High performance & ScalabilityScale (typically beyond 5 brokers) | * Easy to get StartedWeb UI | * It’s easier to implement advanced scenario * Web UI |
Disadvantages | * Ordering guarantee is only within a partition not across the topic | * No Native Steaming: use case( needed external store)Scaling brokers | * Not support Advanced feature such as strict message order or exactly-once delivery. |