栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

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

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

文章目录

前言消息积压产生的原因消息积压问题解决

前言

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

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

好记性不如烂笔头!

消息积压产生的原因

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

以Direct模式为例:

消息由生产者产生,比如新订单的创建等,经过交换机,将消息发送至指定的队列中,然后提供给对应的消费者进行消费。

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

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

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

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

提前增加服务器的数量,增加消费者数目,提升消费者针对指定队列消息处理的效率。

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

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

当前另类消费者,不进行复杂逻辑处理,只将消息从队列中取出,存放至数据库中,然后basicAck反馈给消息队列。

先记录数据库,后期再慢慢做处理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号