Amazon MQ Features
Managed service
With Amazon MQ you can 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.
High throughput
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.
Security
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 Amazon 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.
Monitoring
Amazon MQ is integrated with Amazon CloudWatch and Amazon 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, continuously monitor, and retain Amazon MQ API calls.
Broker instance types
Amazon MQ currently supports seven broker instance types: mq.t2.micro, mq.t3.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.t3.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.
Pay-as-you-go pricing
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 Amazon Web Services China Region Free Tier includes up to 750 hours of a single-instance mq.t3.micro broker and up to 5GB of Amazon EFS storage per month for an ActiveMQ broker or 20GB of Amazon EBS for a RabbitMQ broker, for six months.
RabbitMQ Features
High Availability, Throughput, and Message Durability
Amazon MQ runs on the same highly reliable infrastructure used by other Amazon Web Services. Amazon MQ for RabbitMQ clusters, backed by Amazon EBS, use multi-AZ replication for high-availability and message durability. Data transfer for replication is included at no additional cost. Clusters are created behind a single-endpoint for high availability, simple management, and easy connection from your application.
Message Routing
Messages in RabbitMQ brokers are routed through exchanges before arriving at queues. RabbitMQ features several built-in exchange types for typical routing logic.
Broad Client Language Support
Develop using your favorite programming languages, including: Python, .NET, PHP, Python, JavaScript, Ruby, Java, and Go
Other RabbitMQ Features
For a full description of RabbitMQ’s features, please see the RabbitMQ website.
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.
Messaging features
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.