Message Queue (MQ) is a service that provides messaging capabilities including message publishing and subscription, message tracing, scheduled and delayed messages, resource statistic measuring, alarm monitoring, and more, to build a complete set of enterprise-level messaging functions powered by a highly available distributed cluster technology. MQ provides asynchronous decoupling and load shifting for distributed applications, and supports multiple key features for Internet applications including mass message stacking, high throughput, and reliable retry.
MQ provides messaging cloud services in multiple regions within the Alibaba Cloud, and the multi-data center deployment strategy in each single region ensures its high availability. Even when a data center is entirely down, it is still able to provide the messaging service with no SPOF.
MQ supports access through TCP protocol, and supports Java, C++, and .NET programming languages, to facilitate quick access to its cloud service for applications developed with different programming languages. You can deploy your applications on Alibaba Cloud’s ECS or your own enterprise cloud, or embed them into mobile devices or IoT devices to connect with MQ for message sending and receiving. Addtionally, developers can access MQ through the internet for message sending and receiving.
Note: We recommend you use the Message Service product for programming language demands other than Java.
MQ supports access through several protocols, multiple programming languages, and offers multidimensional management tools. It also provides a series of featured functions for different application scenarios.
MQ features overview
- Provides access through SDK that is TCP protocol compliant for enhanced stability over HTTP access.
- Web console: Supports topic management, publishing management, subscription management, message query, message tracking, resource reports, and monitoring and alarm management.
- Open API: Provides APIs that allow you to integrate MQ management tools into your own console.
- Mqadmin command set: Provides a rich set of management commands for the private cloud version to manage the MQ service by command.
- Transactional messages: Provides a distributed transaction processing function similar to X/Open XA to ensure transaction consistency.
- Scheduled and delayed messages: Allows producers to specify the length of time to wait before delivering a message, which can be up to 40 days.
- Large messages: All regions support a maximum message size of 256 KB by default (4 MB for the North China 2 region).
- Message tracing: Records the complete route of a message from its publication by the producer to its entry into the MQ server, and then to its final delivery to the subscriber. This function is especially useful when troubleshooting.
- Broadcast messages: Allows each of the consumers identified by the same consumer ID to consume a certain message once.
- Ordered messages: Allows consumers to consume messages in the order of their delivery.
- Consumer offset resetting: resets the consumer offset by a point of time or skip all the accumulated messages.
- Customization: Supports a custom design of technical solutions in addition to onsite technical support and training by experts.
- Flexible deployment: Supports both the independent deployment on a private cloud and deployment on a hybrid cloud architecture.
- Operations & Maintenance (O&M): Supports maintenance management tools such as mqadmin command set and APIs to facilitate the integration of management platforms and unified maintenance.
MQ supports the pub/sub messaging model. A message publisher (producer) sends a message to a topic in the server, and multiple message recipients (consumers) subscribe to the topic and receive the message. The model is illustrated in the following figure.