Need advice about which tool to choose?Ask the StackShare community!
Maybe not an obvious comparison with Kafka, since Kafka is pretty different from rabbitmq. But for small service, Rabbit as a pubsub platform is super easy to use and pretty powerful. Kafka as an alternative was the original choice, but its really a kind of overkill for a small-medium service. Especially if you are not planning to use k8s, since pure docker deployment can be a pain because of networking setup. Google PubSub was another alternative, its actually pretty cheap, but I never tested it since Rabbit was matching really good for mailing/notification services.
In addition to being a lot cheaper, Google Cloud Pub/Sub allowed us to not worry about maintaining any more infrastructure that needed.
We moved from a self-hosted RabbitMQ over to CloudAMQP and decided that since we use GCP anyway, why not try their managed PubSub?
It is one of the better decisions that we made, and we can just focus about building more important stuff!
Pros of ActiveMQ
- Easy to use15
- Efficient12
- Open source12
- JMS compliant10
- High Availability6
- Scalable5
- Support XA (distributed transactions)3
- Persistence3
- Distributed Network of brokers2
- Docker delievery1
- RabbitMQ0
Pros of Amazon SQS
- Easy to use, reliable59
- Low cost40
- Simple26
- Doesn't need to maintain it13
- It is Serverless8
- Has a max message size (currently 256K)4
- Delayed delivery upto 15 mins only3
- Triggers Lambda3
- Easy to configure with Terraform3
- Delayed delivery upto 12 hours3
- JMS compliant1
- Support for retry and dead letter queue1
- D1
Pros of RabbitMQ
- It's fast and it works with good metrics/monitoring224
- Ease of configuration77
- I like the admin interface56
- Easy to set-up and start with49
- Durable20
- Standard protocols18
- Intuitive work through python18
- Written primarily in Erlang10
- Simply superb7
- Completeness of messaging patterns6
- Scales to 1 million messages per second3
- Reliable3
- Better than most traditional queue based message broker2
- Distributed2
- Supports AMQP2
- Great ui1
- Better routing system1
- Inubit Integration1
- Reliability1
- High performance1
- Runs on Open Telecom Platform1
- Clusterable1
- Clear documentation with different scripting language1
Sign up to add or upvote prosMake informed product decisions
Cons of ActiveMQ
- Support1
Cons of Amazon SQS
- Proprietary2
- Difficult to configure2
- Has a max message size (currently 256K)2
- Has a maximum 15 minutes of delayed messages only1
Cons of RabbitMQ
- Too complicated cluster/HA config and management8
- Needs Erlang runtime. Need ops good with Erlang runtime6
- Configuration must be done first, not by your code5
- Slow4