【RocketMQ 二十八】RocketMQ 消息堆积
消息堆积本质
⽣产者的⽣产速度 >> 消费者的处理速度
⽣产者的⽣产速度骤增,⽐如⽣产者的流量突然骤增
消费速度变慢,⽐如消费者实例 IO 阻塞严重或者宕机
如何处理消息堆积
如何处理消息堆积呢?可以从两个当⾯考虑:
- 如何通过解决系统问题、优化代码来避免消息堆积
- 消息已经堆积了,线上如何快速处理
发送端性能优化
从消息堆积若⼲原因来看,消息堆积的原因主要在消费端处理上,本身⽣产者端应该遵循的
原则应该是尽可能快的将消息发送到Broker中去,因此发送端除了业务处理时批量发送暂⽆好的
⼿段优化,⽽且并不是所有的业务处理都⽀持批量发送和批量接收处理。
批量发送是发送端预防消息堆积的⽅式之⼀
消费端性能优化
在设计系统的时候,⼀定要保证消费端的消费性能要⾼于⽣产端的发送性能,这样的系统才能健康的
持续运⾏。
- ⽅式1 增加单个消费者处理能⼒
增加单个消费者的处理能⼒这块没有绝对的办法,只能尽可能的优化消息处理业务逻辑的能
⼒,减少不必要的⾮业务相关处理时间消耗;如果消息处理业务已经优化到⽆法再优化了,那只
能通过⽅式2⽔平扩展消费者个数来优化。
- ⽅式2 ⽔平扩容消费者个数
消费端的性能优化除了优化消费业务逻辑以外,也可以通过⽔平扩容,增加消费端的并发数
来提升总体的消费性能。
如何快速处理
如果消息已经堆积了,线上如何快速处理。对于系统发⽣消息积压的情况,需要先解决积
压,再分析原因,毕竟保证系统的可⽤性是⾸先要解决的问题。
1、消费端扩容;–通⽤⽅式
2、服务降级;–快速失败,不⼀定适⽤所有业务场景
3、跳过⾮重要消息:发⽣消息堆积时,如果消费速度⼀直追不上发送速度,可以选择丢弃不重要的消息
4、异常监控。–属于运维层⾯措施
【RocketMQ 二十八】RocketMQ 消息堆积相关推荐
- kafka maven 依赖_SpringBoot入门建站全系列(二十八)整合Kafka做日志监控
SpringBoot入门建站全系列(二十八)整合Kafka做日志监控 一.概述 Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端 ...
- SpringBoot入门建站全系列(二十八)整合Kafka做日志监控
SpringBoot入门建站全系列(二十八)整合Kafka做日志监控 一.概述 Apache Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列,可以处理大量的数据,并使您能够将消息从一个端 ...
- WCF技术剖析之二十八:自己动手获取元数据[附源代码下载]
WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 原文:WCF技术剖析之二十八:自己动手获取元数据[附源代码下载] 元数据的发布方式决定了元数据的获取行为,WCF服务元数据架构体系通过Ser ...
- 关闭数字健康 android 魅族,数字体验 篇二十八:精雕细刻,只为给魅友更好的选择,魅族16s Pro体验分享...
数字体验 篇二十八:精雕细刻,只为给魅友更好的选择,魅族16s Pro体验分享 2019-09-06 17:31:22 14点赞 10收藏 15评论 当我还一直在称赞魅族16s所拥有的舒适手感表现时, ...
- 2008R2Win7管理二十八Mail之基本使用
2008R2Win7管理二十八Mail之基本使用 上篇我们已经安装好了exchange2010,呵呵本片简单介绍和看下ex2010的基本界面和使用 安装完成打开exchange控制台如图所示 汗,有试 ...
- 微信小程序把玩(二十八)image组件
原文:微信小程序把玩(二十八)image组件 image组件也是一个程序不可缺少的,可以这样说一个app中image组件随处可以看到,一般 image有两种加载方式第一种是网络图片第二种是本地图片资源 ...
- Citrix 服务器虚拟化之二十八 XenApp6.5发布文档内容
Citrix 服务器虚拟化之二十八 XenApp 6.5发布文档内容 XenApp可发布以下类型的资源向用户提供信息访问,这些资源可在服务器或桌面上虚拟化: 1) 服务器桌面:发布场中服务器的整个 ...
- OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope
OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...
- (转载)Android项目实战(二十八):使用Zxing实现二维码及优化实例
Android项目实战(二十八):使用Zxing实现二维码及优化实例 作者:听着music睡 字体:[增加 减小] 类型:转载 时间:2016-11-21 我要评论 这篇文章主要介绍了Android项 ...
最新文章
- WIN XP 命令汇总
- Mac~终端安装Homebrew packages超时
- ConcurrentHashMap的源码分析-数据迁移阶段的实现分析
- python传文件给java_python使用简单http协议来传送文件
- oracle的安装与plsql的环境配置
- MATLAB中数组的原始索引和线性索引之间相互进行转换
- 知识查差缺不漏贴:索引的分类
- 【代码技巧】21个经典深度学习句间关系模型
- VS2010 用户自定义工具箱控件的制作方法
- 通俗理解什么是隐马尔科夫模型(hmm)
- 【知识图谱】Neo4j 删除、清空数据库的方法
- Android如何实现汉字手写输入法(带中文自动识别提示)
- 英寸和厘米的换算python_OJ实例:厘米换算英尺英寸
- 信息安全数学基础-扩展欧式算法 2021.9.10
- NVIDIA Jetson之OTA远程升级Jetpack
- 林信良(良葛格)在CSDN上也开专栏了~
- ROS-moveit!仿真出现问题:Unable to identify any set of controllers that can actuate the specified
- 5.4.4. Primary Keys
- Android知识架构 · Java的编程思想
- 索尼开发新传感器为激光雷达提供助力,用于自动驾驶和其他应用