The following questions are frequently asked with regard to the RocketMQ project in general.
Please refer to Why RocketMQ
No. RocketMQ can run independently.
Cluster consumption pattern The 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.
Broadcast consumption pattern The broadcaset consumption still ensures that a message is consumered at least once, but no resend option is provided.
RocketMQ ensures that all messages are delivered at least once. In most cases, the messages are not repeated.
The following answers are all default values and can be modified by configuration.
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.
Generally 256KB.
When you start Consumer, set a ConsumeThreadNums property, example is as follows:
consumer.setConsumeThreadMin(20); consumer.setConsumeThreadMax(20);
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.
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.
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.
As long as there is another working slave, there will be no impact on sending messages. There will also be no impact on consuming messages except when the consumer group is set to consume from this slave preferably. By default, comsumer group consumes from master.
There will be no impact on sending messages to master, but, if the master is SYNC_MASTER, producer will get a SLAVE_NOT_AVAILABLE indicating that the message is not sent to any slaves. There will also be no impact on consuming messages except that if the consumer group is set to consume from slave preferably. By default, comsumer group consumes from master.
This happens when you are trying to send messages to a topic whose routing info is not available to the producer.
If you can't find this topic, create it on a broker via admin tools command updateTopic or web console.