MQ消息堆积因素之一之try catch

MQ消息堆积因素之一之try catch

最近使用MQ基于两个系统之间做了一次异步的数据同步,对于异常的数据,记录在数据中,方便后续做补偿任务。
上线后,页面功能无法使用,排查原因,因同步了一条数据,如图所示,导致第二个队列消息激增,消费速度太慢,因权限问题,导致页面按钮无法操作。

在这里插入图片描述
总结原因:在catch中的代码中,有记录异常数据到db的操作,此操作出现异常,导致后边的手动确认操作无法执行,mq会一直重发,导致消息堆积。

解决办法:
根据排查出同步数据,消费到这条数据,直接return掉。这个是根据业务场景来操作的。

方案:启动多消费者,同时消费消息,减少积压的数据。

代码解决方案:
在catch中的插入操作,再次try catch将异常吃掉,防止重发消息。避免队列调队列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值