Amazon MQ Features
With Amazon MQ, you can use the AWS Management Console, AWS CloudFormation, the Command Line Interface (CLI), or simple API calls to launch a production-ready message broker in minutes. Amazon MQ manages administrative tasks such as hardware provisioning, broker setup, software upgrades, and failure detection and recovery.
Amazon MQ supports creating throughput-optimized message brokers backed by Amazon Elastic Block Store (EBS), perfect for use cases that require high throughput such as high volume order processing, stock trading, text processing and many more. Throughput optimized message brokers reduce the number of brokers required, and cost of operating, high-volume applications using Amazon MQ.
High Availability and Message Durability
Amazon MQ runs on the same highly reliable infrastructure used by other Amazon Web Services. Amazon MQ provides durability-optimized brokers backed by Amazon Elastic File System (Amazon EFS) to support high availability and message durability. Durability-optimized brokers, backed by Amazon Elastic File System (Amazon EFS) store messages redundantly across multiple Availability Zones (AZs), and active-standby brokers automatically fail over to a standby instance if a broker or AZ fails, so you can continue sending and receiving messages. Connecting brokers into a network provides active-active availability with almost instant fail-over.
Amazon MQ provides encryption of your messages at rest and in transit. It’s easy to ensure that your messages are securely stored in an encrypted format. Connections to the broker use SSL, and access can be restricted to a private endpoint within your Amazon VPC, which allows you to isolate your broker in your own virtual network. You can configure security groups to control network access to your broker.
Amazon MQ is integrated with AWS Identity and Access Management (IAM) and provides you the ability to control the actions that your IAM users and groups can take on specific Amazon MQ brokers. Authentication from applications to the ActiveMQ broker itself is provided using username and password-based authentication.
Amazon MQ is integrated with Amazon CloudWatch and AWS CloudTrail. With CloudWatch you can monitor metrics on your brokers, queues, and topics. For example, you can monitor the depth of your queues and generate alarms if messages aren’t getting through. Using CloudTrail, you can log, continuosly monitor, and retain Amazon MQ API calls.
Broker Instance Types
Amazon MQ currently supports six broker instance types: mq.t2.micro, mq.m4.large, mq.m5.large, mq.m5.xlarge, mq.m5.2xlarge, and mq.m5.4xlarge, which provide varying combinations of CPU, memory, and network performance. The mq.t2.micro instances are designed for initial product evaluation and the mq.m5.large instance for default production usage. Amazon MQ also supports both single-instance brokers, suitable for evaluation and testing, and active/standby brokers for high availability in production.
Amazon MQ provides cost-efficient and flexible capacity, and there is no minimum fee. You pay for the number of hours your broker instance runs and the storage you use monthly. It’s easy and inexpensive to create new brokers for additional capacity. For more details see Amazon MQ Pricing.
Get Started for Free
The AWS Free Tier includes up to 750 hours of a single-instance mq.t2.micro broker and up to 1GB of durability-optimized storage per month for one year.
Apache ActiveMQ Features
Open-Source Message Broker
ActiveMQ is an open-source project from the Apache Software Foundation, which has a proven history and a large community of contributors. ActiveMQ is a popular, flexible, and powerful enterprise-grade message broker supporting industry standards.
Industry-standard APIs and Protocols
ActiveMQ supports a wide range of clients including Java Message Service (JMS) 1.1, .NET Message Service (NMS), and a range of other languages including Node.js, Go, Python, Ruby, and C++. ActiveMQ also supports wire-level protocols including AMQP, STOMP, OpenWire, WebSocket, and MQTT. This compatibility with industry standards facilitates migration from existing message brokers, enables interoperability between vendors, and helps you avoid vendor dependency.
ActiveMQ provides all the standard JMS features including point-to-point (message queues), publish-subscribe (topics), request/reply, persistent and non-persistent modes, JMS transactions, and distributed (XA) transactions. In addition to basic queues and topics, ActiveMQ also supports more complex patterns such as composite destinations (producers can send the same message to multiple destinations, useful for real-time analytics) and virtual destinations (publishers broadcast messages via a topic to a pool of receivers subscribing through queues).
Reliable, Ordered Delivery of Messages
ActiveMQ is designed to ensure that messages are delivered to their intended recipients in the correct order. ActiveMQ preserves the order of messages sent by a single producer to all consumers on a topic. ActiveMQ also supports message groups, which enable multiple consumers on a queue to process messages within a group in first-in, first-out (FIFO) order. It provides many features to help you manage how messages are handled, such as store and forward delivery, message acknowledgments, and recovery of failed messages. ActiveMQ also supports message redelivery and dead letter queues (DLQ) when a message cannot be delivered to its destination.
Other ActiveMQ Features
For a full description of ActiveMQ’s features, please see the Apache ActiveMQ website.