xiangwangcheng commented on a change in pull request #793: [RIP-9] Add the 
introduction of the basic concepts in RocketMQ
URL: https://github.com/apache/rocketmq/pull/793#discussion_r258347977
 
 

 ##########
 File path: docs/en/Concept.md
 ##########
 @@ -0,0 +1,41 @@
+# Basic Concept                                
+##
+## 1 Message Model
+
+The RocketMQ message model is mainly composed of a Producer, a Broker and a 
Consumer.The Producer is responsible for producing messages, the Consumer is 
responsible for consuming messages, and the Broker is responsible for storing 
messages.     
+A Broker corresponds to one server during actual deployment, and each Broker 
can store messages from multiple topics, and messages from each Topic can be 
stored in a different Broker by sharding strategy.     
+A Message Queue is used to store the physical addresses of messages, and the 
Message addresses in each Topic are stored in multiple Message queues.The 
Consumer Group consists of multiple Consumer instances.    
+##  2 Producer
+ A producer is responsible for producing messages, typically by business 
systems.It sends messages generated by the business application systems to 
brokers. RocketMQ provides multiple paradigms of sending: synchronous, 
asynchronous,sequential and one-way.Both synchronous and asynchronous methods 
require the Broker to return confirmation information, while one-way sending is 
not required.
+## 3 Consumer
+ A Consumer responsible for consuming messages, typically the background 
system responsible for asynchronous consumption.A Consumer pulls messages from 
brokers and feeds them into application. In perspective of user application, 
two types of consumers are provided:Pull Consumer and Push Consumer.
+## 4 Topic
+  Topic refers to a collection of messages, each of which contains several 
messages, each of which can belong to only one topic, and is the basic unit of 
RocketMQ for message subscription.
+## 5 Broker Server
+The message broker role, which stores and forwards messages.In the RocketMQ 
system, a Broker Server is responsible for receiving messages sent from 
producers, store them and prepare to handle pull requests from consumers.It 
also stores message related meta data, including consumer groups, consuming 
progress offsets , topic and queue info.
+## 6 Name Server
+ Name server serves as the routing information provider. A producer or 
consumer can find a list of Broker IP addresses corresponding each topic 
through name server.Multiple Name server instances are clustered, but are 
independent of each other and do not exchange information.
 
 Review comment:
   1. "Name server serves as the provider of routing service." seems more 
concise.
   2.  **the** list of Broker IP addresses
   3. "Multiple Name server instances are clustered" => "Multiple Name servers 
can be deployed as a cluster" seems better.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to