Need advice about which tool to choose?Ask the StackShare community!

Amazon MQ

54
325
+ 1
12
Kestrel

39
58
+ 1
0
Add tool

Amazon MQ vs Kestrel: What are the differences?

Introduction

Amazon MQ and Kestrel are message queue services used for handling messaging between applications in a distributed system.

  1. Protocol Support: Amazon MQ supports popular messaging protocols such as MQTT, AMQP, and STOMP, providing flexibility for different types of applications to communicate. On the other hand, Kestrel only supports the Thrift protocol, limiting its compatibility with other messaging systems.

  2. Managed Service: Amazon MQ is a fully managed service provided by AWS, offering hassle-free setup, maintenance, and scalability. Kestrel, on the other hand, requires manual configuration and monitoring, making it more suitable for organizations with specific customization needs and the technical expertise to manage it.

  3. Scaling Capabilities: Amazon MQ offers auto-scaling capabilities, allowing the service to adjust resources based on demand to ensure optimal performance and cost efficiency. Kestrel, although capable of horizontal scaling, relies on manual intervention for scaling operations, which can be cumbersome and time-consuming in high-traffic environments.

  4. Redundancy and High Availability: Amazon MQ provides out-of-the-box redundancy and high-availability features, ensuring message reliability and fault tolerance. In contrast, Kestrel may require custom configurations and additional setup to achieve similar levels of redundancy and availability.

  5. Monitoring and Metrics: Amazon MQ offers comprehensive monitoring and metrics through AWS CloudWatch, providing insights into message queue performance and health. Kestrel, being a more lightweight solution, may lack built-in monitoring capabilities and may require integration with third-party tools for monitoring and analysis.

  6. Integration with AWS Services: Amazon MQ seamlessly integrates with various AWS services such as Lambda, S3, and EC2, facilitating seamless communication and data exchange within the AWS ecosystem. Kestrel, being an independent service, may require additional configuration and setup to integrate with AWS services, potentially adding complexity to the integration process.

In Summary, Amazon MQ and Kestrel differ in terms of protocol support, managed service, scaling capabilities, redundancy, monitoring, and integration with AWS services.

Advice on Amazon MQ and Kestrel
MITHIRIDI PRASANTH
Software Engineer at LightMetrics · | 4 upvotes · 289K views
Needs advice
on
Amazon MQAmazon MQ
and
Amazon SQSAmazon SQS
in

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.

See more
Replies (1)
Andres Paredes
Lead Senior Software Engineer at InTouch Technology · | 1 upvotes · 220.1K views
Recommends
on
Amazon SQSAmazon SQS

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

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Amazon MQ
Pros of Kestrel
  • 7
    Supports low IQ developers
  • 3
    Supports existing protocols (JMS, NMS, AMQP, STOMP, …)
  • 2
    Easy to migrate existing messaging service
    Be the first to leave a pro

    Sign up to add or upvote prosMake informed product decisions

    Cons of Amazon MQ
    Cons of Kestrel
    • 4
      Slow AF
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is Amazon MQ?

      Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud.

      What is Kestrel?

      Kestrel is based on Blaine Cook's "starling" simple, distributed message queue, with added features and bulletproofing, as well as the scalability offered by actors and the JVM.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Amazon MQ?
      What companies use Kestrel?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Amazon MQ?
      What tools integrate with Kestrel?
        No integrations found
        What are some alternatives to Amazon MQ and Kestrel?
        Amazon SQS
        Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.
        RabbitMQ
        RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
        IBM MQ
        It is a messaging middleware that simplifies and accelerates the integration of diverse applications and business data across multiple platforms. It offers proven, enterprise-grade messaging capabilities that skillfully and safely move information.
        ActiveMQ
        Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.
        Kafka
        Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
        See all alternatives