HAQM MQ Features

HAQM MQ Features

Open all

With HAQM MQ, you can use the AWS Management ConsoleAWS CloudFormation, the Command Line Interface (CLI), or simple API calls to launch a production-ready message broker in minutes. HAQM MQ manages administrative tasks such as hardware provisioning, broker setup, software upgrades, and failure detection and recovery.

HAQM 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 HAQM VPC, which allows you to isolate your broker in your own virtual network.

HAQM 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 HAQM MQ brokers. Authentication from applications to the broker itself is provided using username and password-based authentication, and optionally using LDAP (Lightweight Directory Access Protocol) for ActiveMQ brokers.

HAQM MQ currently supports five broker instance types: mq.t3.micro, mq.m5.large, mq.m5.xlarge, mq.m5.2xlarge, and mq.m5.4xlarge/ The mq.t3.micro instances are designed for product evaluation while the mq.m5 instance types are designed for production workloads. HAQM MQ supports a single-instance deployment mode recommended for evaluation and testing, and replicated highly available deployment modes recommended for production.

HAQM 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 HAQM MQ Pricing.

The AWS Free Tier includes up to 750 hours of a single-instance mq.t2.micro or mq.t3.micro broker, and up to 5GB of HAQM EFS storage per month for an ActiveMQ broker or 20GB of HAQM EBS for a RabbitMQ broker, for one year.

RabbitMQ Features

Open all

RabbitMQ cluster brokers on HAQM MQ are backed by HAQM EBS, and use multi-AZ replication for high-availability and message durability. Data transfer for inter-node 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.

Messages in RabbitMQ brokers are routed through exchanges before arriving at queues. RabbitMQ features several built-in exchange types for typical routing logic. RabbitMQ on HAQM MQ also supports multiple queue types including classic queues, classic mirrored queues, and quorum queues. Quorum queues are only supported on RabbitMQ 3.13 and above. HAQM MQ recommends quorum queues be used as the default replicated queue type for your workloads.

Develop using your favorite programming languages, including: Python, .NET, PHP, Python, JavaScript, Ruby, Java, and Go.

For a full description of RabbitMQ’s features, please see the RabbitMQ website.

ActiveMQ Features

Open all

HAQM MQ for ActiveMQ provides durability-optimized brokers backed by HAQM Elastic File System (HAQM EFS) to support high availability and message durability. Durability-optimized brokers, backed by HAQM Elastic File System (HAQM EFS) store messages in a redundant manner across multiple Availability Zones (AZs). Active-standby brokers automatically fail over to a standby instance if a broker or AZ fails, so you can continue sending and receiving messages.

HAQM MQ also supports creating throughput-optimized message brokers backed by HAQM 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 HAQM MQ.

ActiveMQ supports a wide range of clients including Java Message Service (JMS v1.1 and JMS v2.0), 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).

For a full description of ActiveMQ’s features, please see the Apache ActiveMQ website.