分布式消息队列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