Distributed Message Service RocketMQ

Product Architecture

2024-07-03 02:52:08

Name Server

The name server is a nearly stateless node that can be deployed in a cluster with two or more nodes and data is not synchronized between nodes. It mainly provides broker registration, topic routing management and other functions.

Broker

It is the core component of the distributed message middleware, which provides the core functions of message production, consumption, master-slave synchronization, and data flushing. You can scale out or expand a cluster online to improve its performance. Each broker establishes a persistent connection to all nodes in the name server cluster and registers topics and other information regularly. 

Producer

Producers typically refer to applications that call APIs to produce messages. A producer establishes a persistent connection with a random name server in the name server cluster, and regularly reads topic routing information from the name server. It also establishes a persistent connection with the master broker that provides the topic service and regularly sends heartbeat data to the master broker. A producer is completely stateless and can be deployed in a cluster.

Consumer

Consumers typically refer to applications that call APIs to consume messages. Each consumer establishes a persistent connection to the name server and obtains topic routing information. The consumer establishes a persistent connection with the master broker that provides the topic service to consume messages.


5y8urOfgGecp