This topic describes the benefits of ApsaraMQ for RabbitMQ. It helps you better understand the advantages of ApsaraMQ for RabbitMQ over open source RabbitMQ.
Ease of use
- Out-of-the-box
Message Queue for RabbitMQ is fully compatible with Advanced Message Queuing Protocol (AMQP) 0-9-1 and open source RabbitMQ. This facilitates the migration of open source RabbitMQ clusters to the cloud.
- Fully managed
ApsaraMQ for RabbitMQ can be activated with one click. You can use the service without the need to deploy or maintain the service. The maintenance of the service relies on a professional automated O&M team of Alibaba Cloud. The service supports multi-dimensional inspections within seconds or minutes on core links, provides comprehensive health diagnosis reports, generates alerts upon unhealthy states, and handles alerts in a timely manner. This ensures service availability and business continuity.
High availability
- Message Queue for RabbitMQ provides Service Level Agreement (SLA) guarantees to ensure high availability in multiple zones. Message Queue for RabbitMQ can provide messaging services even if the entire data center is unavailable.
- Clusters are deployed in distributed mode. Multiple service nodes are deployed, and all the service nodes are stateless. If a node is unavailable, a failover request is initiated to switch to another node. This way, the service is not affected.
Enhancements
- Delayed message
- Messages can be delayed at a precision of seconds. The first-in, first-out limit does not apply to delayed messages.
- You need only to configure a parameter in code to delay messages. This solves the issue that open source RabbitMQ does not support delay queues.
- The delay duration of a message can range from seconds to one day.
- The performance of delayed messages is consistent with that of common messages.
- Each delayed message has multiple replicas to ensure fast restoration and data reliability.
- Message retry
- Each message can be retried a maximum of 16 times, and each retry takes 1 minute.
- If a message still fails to be consumed after it reaches the upper limit of retries, it is automatically sent to a dead-letter queue. You can query and export the message from the dead-letter queue.
- Dead-letter exchange
Enhanced dead-letter exchanges are used. Negatively acknowledged messages and messages that have reached the upper limit of retries are automatically sent to a dead-letter exchange. This prevents message loss.
High performance
- Platform-level performance
Millions of queues are supported. The TPS capacity of the broker can be expanded to achieve linear performance enhancement. The number of concurrent requests is not limited.
- Scale-out of a single queue
The TPS capacity of a single queue can be expanded. The number of concurrent requests for a single queue is unlimited. This eliminates the bottleneck of single-queue performance in open source RabbitMQ.
- Auto scaling
The service supports auto scaling, which is transparent to users. High scalability enables linear performance enhancement.
- Message accumulation
- The accumulation of a huge number of messages does not affect the performance or normal running of clusters.
- Producers and consumers are isolated. This ensures stable message consumption when producers concurrently send a large number of messages.
High security and reliability
- Access control
Permissions can be granted on the instance, vhost, queue, and exchange levels. Access control is implemented at each message request.
- Alibaba Cloud account and RAM user
Alibaba Cloud accounts and RAM users can access the service only after they are granted the required permissions. The service supports whitelist-based access control, blacklist-based access control, and Security Token Service (STS).
- Encrypted transmission
Transport Layer Security (TLS) can be used to support encrypted transmission.