消息积压处理方法:紧急临时扩容
处理原理: 先修复Consumer消费的问题,提升消费数据的速度,待数据被消费的差不多时,再将临时的Consumer都停掉,恢复到原先的架构。
具体步骤:
1.新建一个topic,partition是原来的10倍,临时建立好原先10倍的queue数量。
2.然后写一个临时的分发数据的程序,将这个程序部署上去来消费积压的数据,消费之后不做耗时的处理,直接均匀轮询写入临时建立好的10倍数量的queue。
3.接着临时征用10倍的机器来部署Consumer,每一批Consumer消费一个临时queue的数据。
这种做法相当于临时将queue资源和Consumer资源扩大10倍,以正常的10倍速度来消费数据。
4.等快速消费完积压数据之后,就得恢复原先部署的架构,重新用原来的Consumer机器来消费。
画图理解: