Distributed Message Service RabbitMQ

Product Definition

2024-06-27 03:33:56

Distributed message service RabbitMQ (DMS RabbitMQ), a cloud service relying on the high availability and distributed cluster technologies, is fully compatible with the RabbitMQ open-source community and supports message routing, transaction message, priority queue, delay queue, dead-letter queue, and mirror queue. The out-of-the-box and O&M-free service helps you quickly migrate your business to the cloud.

The basic process of publishing and subscribing to the DMS RabbitMQ is shown as follows:

1.       The producer first produces a message, which is published to the specified exchange through the channel connected using TCP.

2.       The exchange selects the corresponding queue by the routing key and delivers the message to the queue.

3.       The consumer subscribes to the queue and consumes the message.

Core Concepts

The core concepts in DMS RabbitMQ are shown as follows:

l  Producer: refers to the publisher of messages. The producer first produces a message and publishes it to the specified exchange. The exchange selects the corresponding queue by the routing key and delivers the message to the queue. The consumer subscribes to the queue and consumes the message.

l  Connection: refers to a TCP connection between the client and the broker.

l  Channel: Each connection supports multiplexing and contains multiple channels. Data is transferred between a producer and a broker through channels.

l  Broker: refers to a RabbitMQ service node. A cluster consists of multiple nodes.

l  Vhost: refers to a virtual host. A node contains multiple Vhosts, and the exchanges and queues for Vhosts are isolated from each other. For example, multiple Vhosts are deployed on a broker, and use different user names and passwords for login, realizing multi-tenant operation.

l  Exchange: A producer sends a message to an exchange, which then routes the message to queues based on the routing key.

l  Queue: refers to the data structure that stores the messages. They are similar to express cabinets.

l  Binding: Associates an exchange with a queue through a routing key.

l  Consumer: refers to the recipient of messages.

For more information, see Explanation of Terms.

Comparison with Open-Source Kafka

Compared to open-source and self-built RabbitMQ versions, DMS RabbitMQ features low-cost O&M, and is more superior in terms of message accumulation, observability, cluster availability, security assurance, operation logs, and OpenAPI access.

Comparison Items

Open-Source and   Self-Built

Distributed Message   Service RabbitMQ Version

Low-cost O&M

Experts are required for   resource planning, deployment, and O&M.

One click to activate,   fully managed. Provide a variety of specifications for on-demand use, and support   one-click expansion on the node number, disk storage space, and node   specifications.

Message Accumulation

Poor performance in   handling accumulated messages and crash due to memory problems

A cloud native engine   that supports massive accumulated messages, without affecting the performance

Observability

The Management UI   provides diverse metrics but you have to build a system for storing and   displaying these metrics.

The alarm monitoring   capability, with various metrics and monitoring for Vhosts, exchanges, and   queues, helps you quickly discover and locate faults.

Cluster Availability

Additional setting of   multi-node load balancing for clusters

Built-in load balancing   for clusters and cross-AZ deployment

Security

Require security   reinforcement by yourself.

Support VPC isolation   and SSL channel encryption.

Operation Logs

No, you need to develop   it yourself.

Provide traceable tenant   management operation records

OpenAPI Access

No, you need to develop   it yourself.

Instances can be managed   easily by calling RESTFul APIs, easy and simple.


Product Features

The features of Distributed Message Service (RabbitMQ) are mainly reflected in the following aspects:

Access Interface

You can call the API to add, delete, check, or change exchanges and queues. On the Console, you can add, delete, check, or change exchanges, queues, users, and policies.

Queue Capacity

(1) Priority queue: Compared with low-priority messages, messages in a priority queue are preferentially delivered to consumers for processing.

(2) Delayed queue: Support delayed messages with second-level accurate timing; easy to use, requiring users to set only one parameter in code to solve the pain points of open-source RabbitMQ queues without latency.

(3) Dead-letter queue: Support rejected messages, TTL expired messages, and queues reach the maximum length (AMQP queues have no upper limit for length) to automatically enter a dead-letter queue, avoiding message loss.

Messaging Capabilities

(1) Message broadcasting: Deliver the same message to all consumers in a consumer group.

(2) Transaction messages: Applicable for distributed applications.

(3) Scheduled messages: Support delayed sending of messages. It solves the pain points of open-source RabbitMQ queues that do not support delay.

Security Protection

It provides traceable tenant management operation records, and originates from the financial system, with support for permission control and SSL protocol.

O&M Monitoring

It manages clusters, exchanges, and queues, and provides metrics for clusters, channels, connections, exchanges, and queues.

For more information, see Features.

Application Scenarios

DMS RabbitMQ applies to e-commerce, financial services, telecommunications, logistics and supply chain management, social media, game development, science and research, as well as application decoupling, load shifting/peak clipping, asynchronous communication and other scenarios. For more information, see Application Scenarios.

Limitations

DMS RabbitMQ has limits on the number of connections and channels. Be careful not to exceed the limits to avoid program exceptions. For more information, see Limits.


2VYR4RjDXUMk