0
点赞
收藏
分享

微信扫一扫

RabbitMq——消息积压分析和解决思路

单调先生 2022-03-10 阅读 73

文章目录

前言

专栏中之前进行了一系列各种模式的配置、使用和测试操作。但是都只是应用于使用阶段,暂未面向问题解决分析方向。

最近看了一篇资料,有大佬说到了消息积压问题的产生原因等问题。对此做出个人见解说明记录。

消息积压产生的原因

正常而言,一般的消息从消息产生到消息消费需要经过以下几种阶段。

Direct模式为例:
在这里插入图片描述
消息由生产者产生,比如新订单的创建等,经过交换机,将消息发送至指定的队列中,然后提供给对应的消费者进行消费。

在这个链路中,存在消息积压的原因大致分为以下几种:

  • 1、消费者宕机,导致消息队列中的消息无法及时被消费,出现积压。
  • 2、消费者没有宕机,但因为本身逻辑处理数据耗时,导致消费者消费能力不足,引起队列消息积压。
  • 3、消息生产方单位时间内产生消息过多,比如“双11大促活动”,导致消费者处理不过来。

消息积压问题解决

针对上面消息积压问题的出现,大致进行了分析,那么根据分析则能制定相关的应对方法。如下所示:

  • 1、大促活动等,导致生产者流量过大,引起积压问题。

  • 2、上线更多的消费者,处理消息队列中的数据。(和1中的大致类似)

  • 3、如果成本有限,则可以专门针对这个队列,编写一个另类的消费者

举报

相关推荐

0 条评论