ShannonDing commented on a change in pull request #879: [RIP-9] Add the FAQ in 
RocketMQ
URL: https://github.com/apache/rocketmq/pull/879#discussion_r259658973
 
 

 ##########
 File path: docs/en/FAQ.md
 ##########
 @@ -0,0 +1,100 @@
+# Frequently Asked Questions
+
+The following questions are frequently asked with regard to the RocketMQ 
project in general.
+
+## General
+
+### 1. Why did we create rocketmq project instead of selecting other products?
+
+Please refer to [Why RocketMQ](http://rocketmq.apache.org/docs/motivation)
+
+### 2. Do I have to install other softewares, such as zookeeper, to use 
RocketMQ?
+
+No. RocketMQ can run independently.
+
+## Usage
+
+### 1. Where does the newly created Consumer ID start consuming messages?
+
+1. If the topic sends a message within three days, then the consumer start 
consuming messages from the first message saved in the server.
+2. If the topic sends a message three days ago, the consumer starts to consume 
messages from the latest message in the server, in other words, starting from 
the tail of message queue.
+3. If such consumer is rebooted, then it starts to consume messages from the 
last consumption location.
+
+### 2. How to reconsume message when consumption fails?
+
+1. Cluster consumption patternThe consumer business logic code returns 
Action.ReconsumerLater, NULL, or throws an exception, if a message failed to be 
consumed, it will retry for up to 16 times, after that, the message would be 
descarded.
+2. Broadcast consumption patternThe broadcaset consumption still ensures that 
a message is consumered at least once, but no resend option is provided.
+
+### 3. How to query the failed message if there is a consumption failure?
+
+1. Using topic query by time, you can query messages within a period of time.
+2. Using Topic and Message Id to accurately query the message.
+3. Using Topic and Message Key accurately query a class of messages with the 
same Message Key.
+
+### 4. Are messages delivered exactly once?
+
+RocketMQ ensures that all messages are delivered at least once. In most cases, 
the messages are not repeated.
+
+### 5. How to add a new broker?
+
+1. Start up a new broker and register it to the same list of name servers.
+2. By default, only internal system topics and consumer groups are created 
automatically. If you would like to have your business topic and consumer 
groups on the new node, please replicate them from the existing broker. Admin 
tool and command lines are provided to handle this.
+
+## Configuration related
+
+The following answers are all default values and can be modified by 
configuration.
+
+### 1. How long are the messages saved on the server?
+
+Stored messages are will be saved for up to 3 days, and messages that are not 
consumed for more than 3 days will be deleted.
+
+### 2. What is the size limit for message Body?
+
+Generally 256KB.
+
+### 3. How to set the number of consumer threads?
+
+When you start Consumer, set a ConsumeThreadNums property, example is as 
follows:
+```
+consumer.setConsumeThreadMin(20);
+consumer.setConsumeThreadMax(20);
+```
+
+## Errors
+
+### 1. If you start a producer or consumer failed and the error message is 
producer group or consumer repeat?
+
+Reason:Using the same Producer /Consumer Group to launch multiple instances of 
Producer/Consumer in the same JVM may cause the client fail to start.
+
+Solution: Make sure that a JVM corresponding to one Producer /Consumer Group 
starts only with one Producer/Consumer instance.
+
+### 2. If consumer failed to start loading json file in broadcast mode?
+
+Reason: Fastjson version is too low to allow the broadcast consumer to load 
local offsets.json, causing the consumer boot failure. Damaged fastjson file 
can also cause the same problem.
+
+Solution: Fastjson version has to be upgraded to rocketmq client dependent 
version to ensure that the local offsets.json can be loaded. By default 
offsets.json file is in /home/{user}/.rocketmq_offsets. Or check the integrity 
of fastjson.
+
+### 3. What is the impact of a broker crash?
+
+1. Master crashes
+
+Messages can no longer be sent to this broker set, but if you have another 
broker set available, messages can still be sent given the topic is present. 
Messages can still be consumed from slaves.
 
 Review comment:
   Could you please check this case again?  such as "messages can still be sent 
given the topic is present".

----------------------------------------------------------------
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