ApsaraMQ for RabbitMQ is a messaging product based on the AMQP 0-9-1 protocol. It is built on a high-availability (HA) distributed storage architecture. ApsaraMQ for RabbitMQ is compatible with open source RabbitMQ clients and resolves common stability issues, such as message accumulation and split-brain. It also provides the benefits of a cloud messaging service, such as high concurrency, a distributed architecture, and flexible scaling.
Core concepts
The core concepts of ApsaraMQ for RabbitMQ are as follows:
-
Producer: An application that sends messages.
-
Consumer: An application that receives messages.
-
Exchange: A component that routes messages to a queue.
-
Queue: A buffer that stores messages.
For more information about ApsaraMQ for RabbitMQ concepts, see Glossary.
ApsaraMQ for RabbitMQ message flow
A message flows through the components of ApsaraMQ for RabbitMQ as follows:
-
A producer sends a message to an exchange.
-
The exchange routes the message to a queue for storage based on the message attributes.
-
A consumer pulls the message from the queue and consumes it.

Comparison with open source
When comparing ApsaraMQ for RabbitMQ with open source RabbitMQ, ApsaraMQ for RabbitMQ has key advantages in performance, stability, and features. For more information, see Comparison with open source RabbitMQ.
Benefits
Compared with open source RabbitMQ, ApsaraMQ for RabbitMQ is flexible and easy to use. It also provides enhanced features, superior performance, and high reliability. For more information, see Benefits.
Features
ApsaraMQ for RabbitMQ is compatible with open source RabbitMQ, provides comprehensive Operations and Maintenance (O&M) support, and supports multiple message types. For more information, see Features.
Scenarios
ApsaraMQ for RabbitMQ is widely used for business messaging in industries such as finance, insurance, government and enterprise, e-commerce, new retail, logistics, interactive video, and energy. ApsaraMQ for RabbitMQ is typically used for asynchronous decoupling, peak-load shifting, and distributed cache synchronization. For more information, see Scenarios.
Limits
ApsaraMQ for RabbitMQ imposes limits on clusters, API calls, and characters. When you use ApsaraMQ for RabbitMQ, do not exceed these limits to prevent application errors. For more information, see Limits.