
Kafka
文章平均质量分 92
中间件兴趣圈
《RocketMQ技术内幕》一书作者、RocketMQ开源社区优秀布道师、CSDN2020博客之星TOP2,主打成体系剖析java中间件,已发布RocketMQ、Kafka、Dubbo、Sentinel、Canal、ElasticJob、ElasticSearch等15个专栏。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kafka生产环境缩容遇到的一个坑
最近在折腾Kafka日志集群,由于公司部署的应用不断增加,日志采集程序将采集到的日志发送到Kafka集群时出现了较大延迟,总的TPS始终上不去,为了不影响业务团队通过日志排查问题,采取了先解决问题,再排查的做法,对Kafka集群进行扩容,但扩容后尴尬的是新增加的5台机器中,有两台机器的消费发送响应时间比其他机器明显高出不少,为了确保消息服务的稳定性,又临时对集群进行缩容,将这台机器从集群中剔除,**具体的操作就是简单粗暴的使用 kill pid命令**,但意外发生了原创 2022-09-24 20:40:01 · 4121 阅读 · 1 评论 -
Kafka消费组无法消费问题排查实战
kafka集群能发送消息,但无法消费消息,这如何是好呢?原创 2022-08-24 21:35:46 · 9368 阅读 · 0 评论 -
生产环境kafka日志集群400W/tps就扛不住了
大家好,我是威哥,《RocketMQ技术内幕》作者、RocketMQ社区首席布道师、中通快递基础架构资深架构师,越努力越幸运,唯有坚持不懈,与大家共勉。最近公司日志Kafka集群出现了性能瓶颈,单节点还没达到60W/tps时消息发送就出现了很大延迟,甚至最高超过了10s,截图说明如下:虽说使用的机械磁盘,但这点压力对Kafka来说应该是小菜一碟,这引起了我的警觉,需要对其进行一番诊断了。通过监控平台观察Kafka集群中相关的监控节点,发现cpu使用率才接近20%左右,磁盘IO等待等指标都并未出现.原创 2022-05-19 22:21:26 · 1303 阅读 · 4 评论 -
Kafka节点万兆网卡打满,揭晓集群安然无恙的秘诀
想必大家都看过笔者Kafka集群故障的排查经验,并通过优化参数使得Kafka集群应对洪峰流量的能力提升N倍,网卡流量几乎打满,集群写入稳如泰山,无独有偶,菜鸟的一个故障导致集群单个topic从5W/tps直接飙升到50W/tps,但集群稳如狗,相当于做了一次“突然的压测”,让我们一起回顾一下这次惊心动魄的过程吧。在进入本文的探讨之前,强烈推荐一下笔者最近的得意之作:Kafka集群中大部分消费组无端被重置到最新位点开始消费的故障排查经验:双十一期间Kafka以这种方式丢消息让我猝不及防生产故障|Kaf原创 2022-03-04 07:00:00 · 2016 阅读 · 0 评论 -
学习方法|一把解开Kafka背后机制的“钥匙”
在Kafka中有一个非常重要的角色:控制器,KafkaController,承担着Kafka核心运作机制,从本文开始将逐步深入Kafka内核,揭晓Kafka内部的运作机制,为更好的运维Kafka储备充足的弹药。深入探究Kafka内核,我们将如何展开呢?经过笔者初略的浏览了KafkaController类的源码,发现Kafka的控制器严重依赖Zookeeper集群,而基于Zookeeper编程的常规套路:基于事件监听模型:Zookeeper创建相应的节点创建Watch,监听节点的新增/修改/删除事件,原创 2022-02-21 19:56:29 · 1266 阅读 · 0 评论 -
生产故障|Kafka ISR频繁伸缩缩引发性能急剧下降原因分析
本文是笔者双十一系列第二弹,源于一个双十一期间一个让笔者猝不及防的生产故障,本文将详细剖析Kafka的副本机制,以及ISR频繁变更(扩张与伸缩)为什么会导致集群不可用。1、Kafka副本机制Kafka数据组织方式是topic-parition的结构,每一个topic可以设置多个分区,各个分区的数据是topic数据的一部分(数据分片),为了保证单个分区的高可用行,又引入了副本机制,即一个分区的数据会存储多份,避免单点故障.一个3节点的Broker集群,每一个Toipic的副本因子设置为3,则对于其中一个原创 2021-12-22 20:41:12 · 4064 阅读 · 3 评论 -
双十一期间Kafka以这种方式丢消息让我促不及防
讲真,我今年的双十一有点“背”,负责的Kafka集群出了一些幺蛾子,但正是这些幺蛾子,让我这个双十一过的非常充实,也让我意识到如果不体系化学习Kafka,是无法做到生产集群及时预警,将故障扼杀在摇篮中,因此也下定决心研读kafka的内核。本文就先来分享一个让我始料未及的故障:Kafka生产环境大面积丢失消息。首先要阐述的是消息丢失并不是因为断电,而且集群的副本数量为3,消息发送端设置的acks=-1(all)。这样严苛的设置,那为什么还会出现消息丢失呢?请听笔者慢慢道来。1、故障现象故障发生时,接原创 2021-12-07 20:55:39 · 3119 阅读 · 2 评论 -
6张图阐述Kafka心跳机制(时间轮算法的具体运用)
无处不在的时间轮算法原创 2021-11-24 12:00:30 · 3628 阅读 · 1 评论 -
答读者问:Kafka顺序消费吞吐量下降该如何优化?
Kafka拉取机制、顺序消费模型、痛点即解决方案(附完整代码)原创 2021-08-02 09:05:40 · 1385 阅读 · 11 评论 -
Kafka中的这只“千里眼”,你需要知道!!!
消费端遇到瓶颈时是否会让你手足无措,消费端端监控指标助你一臂之力,让你的决策有数据支撑,直接切中要害。原创 2021-07-25 18:43:44 · 766 阅读 · 6 评论 -
一文读懂kafka消息拉取机制|线程拉取模型
源码分析是手段,通过源码分析提取消息拉取线程模型、核心参数核心运作机制是王道原创 2021-07-11 10:10:27 · 7464 阅读 · 5 评论 -
怒肝15天终于将Kafka的重平衡一举拿下
30张图,深入剖析kafka重平衡机制,从架构角度思考重平衡相关协议变更是如何有效避免重平衡。原创 2021-07-04 17:09:13 · 1641 阅读 · 11 评论 -
Kafka消费组核心API与核心参数运行机制剖析
本文是《跟我学Kafka:从零开始学习Kafka》,开启从小白到专家的进阶之旅。将对Kafka Consumer做一个简单的介绍,是深入研究Kafka Conumer的一扇窗。本文主要从如下三个方面展开:核心参数核心组件核心API1、Kafka Consumer核心参数览个人觉得,要想深入了解Kafka Consumer的核心工作机制可以从它的核心参数切入,为后续深入了解它的队列负载机制、消息拉取模型、消费模型、位点提交等机制打下基础。kafka Consumer的核心属性定义在Consu原创 2021-06-27 20:49:47 · 1042 阅读 · 7 评论 -
Kafka性能调优实战:同等资源配置性能提升20几倍的秘诀
打破思维惯性,异步发送也能保证顺序性语义?原创 2021-06-20 20:31:06 · 1641 阅读 · 14 评论 -
面试官:你是如何诊断Kafka消息发送到瓶颈在哪里(有的放矢才是性能优化的正确打开方式)
掌握一到两门java主流中间件,是敲开BAT等大厂必备的技能,送给大家一个Java中间件学习路线,助力大家实现职场的蜕变。Java进阶之梯,成长路线与学习资料,助力突破中间件领域在消息发送端遇到性能瓶颈时是否有办法正确的评估瓶颈在哪呢?如何针对性的进行调优呢?1、Kafka 消息发送端监控指标其实Kafka早就为我们考虑好了,Kafka提供了丰富的监控指标,并提供了JMX的方式来获取这些监控指标,在客户端提供的监控指标如下图所示:主要的监控指标分类如下:producer-metrics消原创 2021-06-06 16:38:28 · 2641 阅读 · 17 评论 -
通过一个Kafka故障解决过程阐述架构师必须具备的架构思维
本文不仅展示的Kafka分区迁移实战,更是体现一位架构师面面对线上故障做架构方案的设计思维。原创 2021-05-20 22:20:12 · 3145 阅读 · 17 评论 -
跟我学Kafka:Kafka消费组运维详解
kafka系列第二篇,该系列将见证笔者从Kafka小白进阶专家之路,欢迎各位小伙伴关注,一起前行。原创 2021-05-16 21:25:58 · 4326 阅读 · 17 评论 -
跟我学Kafka:如何高效运维之主题篇
kafka系列第一篇,蕴含了笔者的学习方法,该系列将见证笔者从Kafka小白进阶专家之路,欢迎各位小伙伴关注,一起前行。原创 2021-05-16 21:20:28 · 2391 阅读 · 10 评论 -
源码分析Kafka专栏
1、初识 Kafka Producer 生产者2、源码分析 Kafka 消息发送流程(文末附流程图)3、KafkaProducer Sender 线程详解(含详细的执行流程图)4、初始 Kafka Consumer 消费者5、源码分析Kafka 消息拉取流程6、Kafka与RocketMQ性能对比大揭秘...原创 2020-12-05 20:06:45 · 2214 阅读 · 0 评论 -
Kafka与RocketMQ性能对比大揭秘
从文件布局、数据写入方式、消息发送三个方面剖析RocketMQ与Kafka的性能差异的原因。原创 2020-11-30 22:10:22 · 17203 阅读 · 21 评论 -
源码分析Kafka 消息拉取流程
本节重点讨论 Kafka 的消息拉起流程。本节目录1、KafkaConsumer poll 详解1.1 KafkaConsumer updateAssignmentMetadataIfNeeded 详解1.1.1 ConsumerCoordinator#poll1.1.2 updateFetchPositions 详解1.2 消息拉取2、Fetcher 类详解2.1 类图2.2 Fetcher ...原创 2019-12-08 20:42:20 · 2982 阅读 · 2 评论 -
初始 Kafka Consumer 消费者
温馨提示:整个 Kafka 专栏基于 kafka-2.2.1 版本。1、KafkaConsumer 概述根据 KafkaConsumer 类上的注释上来看 KafkaConsumer 具有如下特征:在 Kafka 中 KafkaConsumer 是线程不安全的。2.2.1 版本的KafkaConsumer 兼容 kafka 0.10.0 和 0.11.0 等低版本。消息偏...原创 2019-11-24 19:10:07 · 2098 阅读 · 0 评论 -
KafkaProducer Sender 线程详解(含详细的执行流程图)
温馨提示:本文基于 Kafka 2.2.1 版本。上文 《源码分析 Kafka 消息发送流程》 已经详细介绍了 KafkaProducer send 方法的流程,该方法只是将消息追加到 KafKaProducer 的缓存中,并未真正的向 broker 发送消息,本文将来探讨 Kafka 的 Sender 线程。本节目录1、Sender 线程详解1.1 类图1.2 run 方法详解1.2.1...原创 2019-11-17 19:03:19 · 4543 阅读 · 0 评论 -
源码分析 Kafka 消息发送流程(文末附流程图)
温馨提示:本文基于 Kafka 2.2.1 版本。本文主要是以源码的手段一步一步探究消息发送流程,如果对源码不感兴趣,可以直接跳到文末查看消息发送流程图与消息发送本地缓存存储结构。从上文 初识 Kafka Producer 生产者,可以通过 KafkaProducer 的 send 方法发送消息,send 方法的声明如下:Future<RecordMetadata> send(...原创 2019-11-10 16:20:56 · 4865 阅读 · 2 评论 -
初识 Kafka Producer 生产者
温馨提示:整个 Kafka Client 专栏基于 kafka-2.3.0 版本。本节目录1、KafkaProducer 概述2、KafkaProducer 类图3、KafkaProducer 简单示例1、KafkaProducer 概述根据 KafkaProducer 类上的注释上来看 KafkaProducer 具有如下特征:KafkaProducer 是线程安全的,可以被多个...原创 2019-11-03 18:07:59 · 3408 阅读 · 1 评论