Kafka消息堆积

记录一次线上kafka故障及处理方式 线上kafka消息堆积,所有consumer全部掉线,到底怎么回事? 最近处理了一次线上故障,具体故障表现就是kafka某个topic消息堆积,这个topic的相关consumer全部掉线。 整体排查过程和事后的复盘都很有意思,并且结合本次故障,对kafka使用的最佳实践有了更深刻的理解。 好了,一起来回顾下这次线上故障吧,最佳实践总结放在最后,千万不要错过。 阅读详情

定义

消息堆积顾名思义就是Kafka中消息太多,在Kafka中准确来说是日志太多,但其实我认为日志堆积主要想说明的是日志没有被及时消费,而且Kafka中日志本来就一直被保存,除非被日志清理策略清理掉。

原因

核心原因是:生产者生产消息的速度大于消费者的消费速度

具体来说,有下面几种原因:

  1. 消费者消费速度慢
  2. 消费者宕机 

造成的问题

  1. 消息丢失

因为Kafka会设置日志清理策略,例如:按照时间清理或按照日志大小清理,所以如果消费者来不及消费,日志就会被清理掉,造成数据丢失。

下面是我测试日志清理策略的过程:

我自己测试的配置文件内容如下:

# 代表某个Topic的某个分区的日志保存大小是2048KB,超过该大小,日志就会被清理(删除或压缩)

log.retention.bytes=2048

# 代表每个日志段的大小,大于该大小就会新创建一个日志文件

log.segment.bytes=1024

接着,我用Kafka工具:kafka-producer-perf-test.bat想主题发送消息,命令如下:

.\kafka-producer-perf-test.bat --topic test  --num-records 5 --throughput 1 --record-size 500 --producer-props bootstrap.servers=localhost:9092

发现旧的日志会被删除,只会保存4个日志文件,总大小和2048KB差不多,日志文件如下:

# 其中每个日志文件大小约570KB

00000000000000000031.log

00000000000000000032.log

00000000000000000033.log

00000000000000000034.log

实验结果和想象中一致。所以如果消费者来不及消费,日志就会被清理掉,造成数据丢失。

解决方案

  1. 生产者:一般生产者生产消息速度不好控制,只能从其他部分解决。
  2. Broker:增加集群数量,增大存储空间,防止数据丢失。
  3. 消费者:增加消费速度,例如:增加消费者实例,并行消费;消费者多线程处理,增加消费速度;消费者端可以异步处理,接收到消息就提交,但容易造成消息丢失,例如提交后消费者宕机,这是另一个话题了,也有对应的解决方案,例如消费完后记录提交偏移量到数据库,如果消费者提交偏移量到Broker但是宕机,下次启动从数据库中获取真正的偏移量,再从该偏移量重新消费消息。

Kafka消息积压的典型场景及解决方案 阅读详情

相关推荐

SpringBoot运行Kafka日志输出太多怎么办?一文教你如何调试日志配置

logback.xml内容

JAVA求生之路——博主406766467 2635

Kafka监控:消息堆积、消息延迟、以及如何处理

在日常的工作中,我们发现很多开发对Kafka本身并不太了解,运维由于经验的不足在初期对整体Kafka的管控也不是那么的严格,导致在使用上有很多问题。所以我们整合了内部的Kafka监控服务的数据,结合我们平台的任务血缘,开发了自己的一套Kafka监控服务。 目前这套系统整体还比较初级,除了关联了Kafka、流表、和任务之间的关系以外,我们还对以下这几种情况做了主动监控: KafkaTopic的分区数的合理性,主要监控消息队列分区数过少或者过多的情况,主要是过少的情况,防止...

. 1万+

骨架动作识别新突破:CTR-GCN的通道拓扑优化策略解析

本文深入解析了CTR-GCN在骨架动作识别中的通道拓扑优化策略。通过引入通道级拓扑细化,CTR-GCN克服了传统GCN共享拓扑结构的局限性,显著提升了动作识别的准确率。文章详细介绍了CTR-GCN的三大核心组件设计,包括特征变换模块、通道拓扑建模和通道聚合技术,并提供了实战调参经验和模型压缩技巧,为计算机视觉领域的研究者和开发者提供了有价值的参考。

weixin_27310417的博客 192

Kafka消息堆积问题排查

背景业务架构图根据 微服务重构:Mysql+DTS+Kafka+ElasticSearch解决跨表检索难题所描述,我们使用了Es解决微服务重构中遇到的Mysql库拆分问题,业务架构图如下所示:Kakfa消息堆积导致的数据一致性问题在下午14:15左右,收到用户反馈,短暂时间内,出现了业务数据一致性问题具体表现是:用户提交了一个页面操作,但是在查询接口里,没有返回最新的操作结果具体校验是:通过问题反...

Diligence is the mother of success. 1797

ADS 使用调整器动态调参教程(Tuning)

ADS动态调参教程

weixin_42845306的博客 1万+

ROS2入门到精通—— ROS2实战专栏(实时更新)

Nav2专栏介绍

BigDavid123的博客 2367

Kafka消息队列出现消息堆积如何解决

Kafka消息队列出现消息堆积,通常是由于消息生产速度远大于消费速度,可能由消费者处理能力不足、网络问题、Kafka配置不合理等原因导致。

言之。 1万+

2026终极反反爬:Canvas/WebGL/字体指纹全维度伪装,应对浏览器检测实战指南

本文分享了2026年浏览器指纹检测现状及全维度伪装方案。当前反爬系统采用多维度联合指纹检测,重点针对硬件级(WebGL、Canvas)、系统级(字体、CPU)和行为级(鼠标移动)指纹。作者设计了一个独立的指纹伪装引擎,包含真实设备指纹库、指纹生成器和统一注入层,通过JS沙箱隔离实现伪装。核心方案包括:Canvas指纹通过真实设备渲染差异添加微偏移;WebGL指纹完整劫持上下文返回真实显卡参数;字体指纹劫持measureText方法模拟不同系统字体宽度。该方案实测可连续运行一个月零封号,解决了传统方法易被检测

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 924

Kafka 为什么会消息堆积?

这样解释的话,Kafka 为什么会消息堆积,是不是更清楚了?

忍者算法的博客 1283

【Unity实战】实现最完美最简单的UI适配方案,背景压缩或者拉伸变形解决方案,手机刘海屏适配,适配不同分辨率,不同尺寸,不同设备。

这期来讲一个简单的UI设计方案,很多同学可能搞不懂锚点、轴心这些概念,导致做好的UI在别人的设备上,乱跑或者是重叠,或者是参加游戏老发时间比较紧来不及做适配,都可以来试试这个方法,通过填充边框来保持游戏画面的原始比例,所以它的缺点也很明显,在一些移动设备上会浪费比较大的显示面积。 unity不同设备UI变形? UI在不同设备上如何适配?

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3649

压缩包密码破解工具ZIP Cracker2.0.1.2 正式版

一款多功能文件密码破解工具,支持ZIP、RAR、Office等主流加密格式,提供CPU/GPU双模式破解。该软件采用黑客风格界面,具备环境自检修复功能,支持实时监控硬件使用率。内置hashcat等专业破解工具,通过拖拽文件即可快速破解,GPU模式速度可达CPU的10-100倍。最新版本优化了中文路径支持,并提升了启动速度。

bfq05234214的博客 481

kafka怎么查看消息堆积_查看kafka消息消费情况

查看主题命令展示topic列表./kafka-topics.sh --list --zookeeper 172.18.153.12:2188描述topic./kafka-topics.sh --describe --zookeeper 172.18.153.12:2188 --topic test查看topic某分区偏移量最大(小)值./kafka-run-class.sh kafka.tools...

weixin_39595537的博客 1万+

手把手教你学Simulink——基于通信协议与标准的场景实例:卫星通信中的网络安全协议(IPSec)仿真

随着卫星通信在国防、金融、应急指挥、能源管网等关键领域的广泛应用,其安全性已成为系统设计的核心要求。然而,卫星链路具有广播特性、长距离传输、地面站分布广等特点,极易遭受窃听、篡改、重放、中间人攻击等网络威胁。传统的“信任链路层安全”已不足以应对现代网络攻击。为此,国际标准组织(如IETF、ETSI、CCSDS)推荐在卫星通信中部署协议,实现端到端的数据机密性、完整性、身份认证和抗重放保护。本文将手把手教你如何在中构建一个符合标准的仿真系统,涵盖从明文传输到加密隧道的完整安全链路建模。本文完整实现了。

MHD0815的博客 148

kafka怎么查看消息堆积_Kafka线上消息堆积问题

虽然项目中很早使用到了Kafka,但是由于我接手之后业务没有变化,所以这还是我第一次在生产环境接触Kafka,可以说是毫无经验,凭着自己对RocketMQ的理解(毕竟RocketMQ也借鉴了Kafka的设计经验),进行这次问题的排查。因此记录一下。一、已知公司Kafka的Broker是由平台组维护,用户中心是消费方,这里简称uc, 单点登录是生产方,这里简称SSO。该业务是在SSO更新昵称时,通过...

weixin_39529914的博客 945

AHB—SRAMC项目(结构图,核心代码、Testbench架构)

文章目录一、AHB_SRAMC项目介绍1.1.AHB总线控制单元(ahb_slv_if.v)1.2.SRAM控制单元(sramc_top.v)1.3.主要的传输路径二、结构框图2.1.AHB_SRAMC结构图(重点)2.2.总线控制单元与SRAM控制单元结构图三、部分核心代码(重点理解)四、SystemVerilog Testbench架构(重点)五、目录结构 一、AHB_SRAMC项目介绍 本项...

Mr.翟的博客 3万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Kafka消息堆积如何处理?

​​先诊断后治理​​:用Lag定位堆积程度和分区分布。​​监控优先​​:部署实时告警(如Prometheus+Grafana)早于故障发生。​​快速扩容​​:临时增加分区/消费者是见效最快的手段。​​长期优化​​:代码性能 > 资源配置 > 架构调整。

iddlw75046的博客 1326

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

kafka 消息堆积慢消费问题

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

zhoxing 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

kafka消息堆积原因解析

kafka消息堆积,可以调节如下两个参数 max.poll.records 一次调用poll()返回的最大记录数。 默认值500 就是一次最多拉取500条记录 max.poll.interval.ms max.poll.interval.ms参数用于指定consumer两次poll的最大时间间隔(默认5分钟),如果超过了该间隔consumer client会主动向coordinator发起LeaveGroup请求,触发rebalance;然后consumer重新发送JoinGroup请求 The maxi

鸭梨的博客 3029

kafka消息堆积查询

执行命令需要在kafka的bin目录下执行,或使用绝对路径运行。 列出正在进行消费的group ID(ip:port为kafka的ip 端口,可能需要修改) : ./kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9092 --list --new-consumer 查询指定group Id的topic消费情况(groupID填写上边命令查询到的group即可) kafka-consumer-groups.sh --bootstrap-

shuchongqu的博客 7604

解决kafka 消息堆积问题的排查及调优

一、背景说明深夜接到客户紧急电话,反馈腾讯云 kafka 中有大量消息堆积未及时消费。每分钟堆积近 100w 条数据。但是查看 ES 监控,各项指标都远还没到性能瓶颈。后天公司就要搞电商促...

独行侠梦的博客 6552

kafka 消息堆积解决

一 :背景 线上kafka消费端因日志异常的解决导致消息堆积。 二 : 日志异常解决导致消息堆积 线上kafka消费端日志异常,频繁打印错误日志,服务器磁盘一天就满了,此时其他服务无法正常工作。报错如下 java.lang.IllegalStateException: Coordinator selected invalid assignment protocol: null at org.apache.kafka.clients.consumer.internals.ConsumerCoordinato

qq_40482717的博客 8929

kafka消费速度慢_Kafka 消息又堆积了?两端双管齐下让消息飞起来

最近,为了监控各个业务系统 Kafka 消息的堆积情况,开发了一个 Lag 监控系统,监控各个业务系统的消息是否存在堆积。在使用 Kafka 的过程中,消息堆积是非常常见的一个问题,而造成消息堆积的直观原因就是系统的某个处理消息的环节出现了问题,导致消息来不及处理,造成消息堆积。本文主要讨论消息堆积发生的原因、如何监控消息消费进度以及如何解决消息堆积三个方面解决消息堆积的问题,让消息飞起来。1. ...

weixin_33130113的博客 2235

kafka一次消息堆积处理

kafka生产环境参数调整

天道酬勤 1094

记录一次kafka百万消息堆积的处理过程

业务背景可以详见上一篇文章:通过kafka,canal进行数据异构同步的一套技术方案_赞的心路历程-优快云博客 2021年10月25日开始,业务大爆发,数据量激增 ,到了28日zabbix监控显示差不多堆积了90万的消息 通过skywalking查看消费者的消费吞吐量并没有异常,是业务数据大爆发,造成了日数据增量成倍增加,消费不及时 ,造成了消息堆积。 逐步排查消费瓶颈在何处: 将涉及到的服务资源按,kafka,消费者,目标数据库的cpu,内存,硬盘,带宽,逐一排查; 首先

赞的心路历程 4472
上一篇: 掌握 JVM 内存布局:易于记忆的快速学习指南
下一篇: volatile关键字及内存可见性,指令重排序
Absosba
博客等级 码龄11年 20粉丝 20原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值