25、RocketMQ实战:RocketMQ应用

分布式消息队列RocketMQ

四、 RocketMQ应用

4.8)消息消费重试机制

4、 8.1)顺序消息的消费重试;

对于顺序消息,当Consumer消费消息失败后,为了保证消息的顺序性,其会自动不断地进行消息重试,直到消费成功。

消费重试默认间隔时间为1000毫秒,重试期间应用会出现消息消费被阻塞的情 况。

代码实现:

 * * * *// 定义一个push消费者
 * * * *DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("cg");
 * * * *// 顺序消息消费失败的消费重试时间间隔,默认为1000毫秒,其取值范围为[10, 30000]毫秒
 * * * *consumer.setSuspendCurrentQueueTimeMillis(100);

由于对顺序消息的重试是无休止的,不间断的,直至消费成功;所以对于顺序消息的消费, 务必要保证应用能够及时监控并处理消费失败的情况,避免消费被永久性阻塞。

注意,顺序消息没有发送失败重试机制,但具有消费失败重试机制

4、 8.2)无序消息的消费重试;

对于无序消息(普通消息、延时消息、事务消息),当C