修复consumer, 然后慢慢消费?这也需要几小时才可以消费完成,新的消息怎么办?这样肯定不行
核心思想:紧急临时扩容,更快的速度去消费数据
- 修复Consumer不消费问题,使其恢复正常消费,根据业务需要看是否要暂停
- 临时topic队列扩容,并提高消费者能⼒,但是如果增加Consumer数量,但是堆积的topic里面的message queue数量固定,过多的consumer不能分配到message queue
- 编写临时处理分发程序,从旧topic快速读取到临时新topic中,新topic的queue数量扩容多倍,然后再启动更多consumer进行在临时新的topic里消费
- 直到堆积的消息处理完成,再还原到正常的机器数量
如果是rocketMQ,kafka,只是简单的增加消费者数量,是没办法解决的,因为一般要求queue或者partition数量大于消费者数量,否则消费者过多,并不能分配到queue或partition