【RocketMQ 二十八】RocketMQ 消息堆积

本文探讨了消息堆积的原因,包括生产者速度过快和消费者处理能力不足,并提出了优化策略。建议通过批量发送、优化消费端业务逻辑以及水平扩展消费者数量来避免和处理消息堆积。在紧急情况下,可以采取消费端扩容、服务降级、丢弃非重要消息以及加强异常监控等措施进行快速处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

消息堆积本质

在这里插入图片描述
⽣产者的⽣产速度 >> 消费者的处理速度

⽣产者的⽣产速度骤增,⽐如⽣产者的流量突然骤增
消费速度变慢,⽐如消费者实例 IO 阻塞严重或者宕机

如何处理消息堆积

如何处理消息堆积呢?可以从两个当⾯考虑:

  • 如何通过解决系统问题、优化代码来避免消息堆积
  • 消息已经堆积了,线上如何快速处理

发送端性能优化

从消息堆积若⼲原因来看,消息堆积的原因主要在消费端处理上,本身⽣产者端应该遵循的
原则应该是尽可能快的将消息发送到Broker中去,因此发送端除了业务处理时批量发送暂⽆好的
⼿段优化,⽽且并不是所有的业务处理都⽀持批量发送和批量接收处理。

批量发送是发送端预防消息堆积的⽅式之⼀

消费端性能优化

在设计系统的时候,⼀定要保证消费端的消费性能要⾼于⽣产端的发送性能,这样的系统才能健康的
持续运⾏。

  • ⽅式1 增加单个消费者处理能⼒
    在这里插入图片描述

增加单个消费者的处理能⼒这块没有绝对的办法&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冒菜-码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值