mq22

如果生产环境上由于某些原因消息消费者宕机了,导致消息积压在RocketMQ上,这时应该如何处理?
处理方式如下:
1、判断RocketMQ上的MessageQueue队列数是否有一对一的消息消费者进行消费,比如Topic有10个MessageQueue,而这个消费者只有2个,这个时候可以增加8个消费者,达到10个消费者,快速消费RocketMQ上积压的消息,等待消息消费完毕,再下线临时增加的8个消费者。
2、如果RocketMQ上的MessageQueue队列数比较少,比如就2个,那么可以重新创建一个Topic,并指定10个MessageQueue,然后把原来积压的消息读取之后存放到新的Topic中,再对应的消费者,比如10个,对积压消息进行消费,消费完毕之后再恢复到原状。

这里需要注意的时,增加了消费者需要考虑消费者所在环境是否可以承受,比如数据库等。

打赏
支付宝 微信
上一篇 下一篇