-
线上故障了,怎么处理
- 消息堆积了10小时,有几千万条消息待处理,现在怎么办?
- 修复consumer, 然后慢慢消费?也需要几小时才可以消费完成,新的消息怎么办?
核心思想:紧急临时扩容,更快的速度去消费数据
- 修复Consumer不消费问题,使其恢复正常消费,根据业务需要看是否要暂停
- 临时topic队列扩容,并提高消费者能力,但是如果增加Consumer数量, 但是堆积的topic里面的message queue数量固定, 过多的consumer不能分配到message queue.
- 编写临时处理分发程序,从旧topic快速读取到临时新topic中, 新topic的queue数量扩容多倍,然后再启动更多consumer进行在临时新的topic里消费
- 直到堆积的消息处理完成,再还原到正常的机器数量

大规模消息堆积处理策略
当线上出现故障导致消息堆积数千万条时,首要任务是修复Consumer恢复正常消费。同时,可以采取临时topic队列扩容和提升消费者能力来加速处理。通过编写临时程序将旧topic消息快速迁移至扩容的新topic,然后利用更多consumer进行消费。在堆积消息处理完毕后,再恢复到正常运行状态。
6480

被折叠的 条评论
为什么被折叠?



