Need advice about which tool to choose?Ask the StackShare community!
Amazon MQ vs Apache RocketMQ: What are the differences?
<Apache RocketMQ vs Amazon MQ>
1. **Communication Protocol Compatibility**: Amazon MQ supports multiple messaging protocols like AMQP, MQTT, OpenWire, and STOMP, while Apache RocketMQ mainly focuses on the support for the MQTT protocol.
2. **Message Persistence Mechanism**: Amazon MQ uses a managed message broker service that provides message persistence by default, ensuring durability of messages in case of failures, while Apache RocketMQ provides configurable persistence options allowing users to customize the persistence mechanism as per their requirements.
3. **Cloud Provider Integration**: Amazon MQ is a fully managed service provided by Amazon Web Services (AWS) and seamlessly integrates with other AWS services, facilitating easy deployment and scalability within the AWS ecosystem, whereas Apache RocketMQ is an open-source messaging solution that can be deployed on various cloud platforms, providing flexibility but requiring more manual configuration for integration.
4. **Partitioning and Scalability**: Apache RocketMQ offers built-in support for message queue partitioning, allowing for better scalability and performance handling large volumes of messages, while Amazon MQ provides a more straightforward but less customizable setup for partitioning and handling scalability requirements.
5. **Monitoring and Management Tools**: Amazon MQ includes comprehensive monitoring and management tools within the AWS Management Console, streamlining operational tasks such as configuring alarms, tracking metrics, and scaling resources, whereas Apache RocketMQ users may need to rely on third-party tools or develop custom solutions for monitoring and managing their deployments.
6. **Community Support and Development**: Apache RocketMQ benefits from a vibrant open-source community that contributes to its ongoing development and support, providing a range of resources, forums, and updates, while Amazon MQ, being a managed service, has limited community-driven development but receives consistent updates and support from AWS.
In Summary, Amazon MQ and Apache RocketMQ differ in their communication protocol compatibility, message persistence mechanism, cloud provider integration, partitioning and scalability capabilities, monitoring and management tools, and community support and development approaches.
I want to schedule a message. Amazon SQS provides a delay of 15 minutes, but I want it in some hours.
Example: Let's say a Message1 is consumed by a consumer A but somehow it failed inside the consumer. I would want to put it in a queue and retry after 4hrs. Can I do this in Amazon MQ? I have seen in some Amazon MQ videos saying scheduling messages can be done. But, I'm not sure how.
Mithiridi, I believe you are talking about two different things. 1. If you need to process messages with delays of more 15m or at specific times, it's not a good idea to use queues, independently of tool SQM, Rabbit or Amazon MQ. you should considerer another approach using a scheduled job. 2. For dead queues and policy retries RabbitMQ, for example, doesn't support your use case. https://medium.com/@kiennguyen88/rabbitmq-delay-retry-schedule-with-dead-letter-exchange-31fb25a440fc I'm not sure if that is possible SNS/SQS support, they have a maximum delay for delivery (maxDelayTarget) in seconds but it's not clear the number. You can check this out: https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html
Pros of Amazon MQ
- Supports low IQ developers7
- Supports existing protocols (JMS, NMS, AMQP, STOMP, …)3
- Easy to migrate existing messaging service2
Pros of Apache RocketMQ
- Million-level message accumulation capacity in a single2
- Support tracing message and transactional message2
- BigData Friendly1
- High throughput messaging1
- Feature-rich administrative dashboard for configuration1
- Low latency1
Sign up to add or upvote prosMake informed product decisions
Cons of Amazon MQ
- Slow AF4