首页
学习
活动
专区
工具
TVP
发布

杨四正的kafka源码剖析课

专栏作者
7
文章
6849
阅读量
6
订阅数
6、深潜kafka-consumer——consumer rebalance 协议详解
在开始分析 KafkaConsumer 的具体实现之前,我们先来介绍一下 KafkaConsumer 涉及到的一些基础理论。在第一课时介绍 Consumer Group 时提到,对于同一个 Consumer Group 来说,同一个 Topic 的不同 partition 会分配给不同的 consumer 进行消费,那如何分配 partition,如何在有新 consumer 加入以及 consumer 宕机的时候重新分配 partition,就是我们说的 consumer group rebalance。
杨四正
2021-06-09
1.5K0
6、深潜KafkaConsumer——rebalance协议详解
在开始分析 KafkaConsumer 的具体实现之前,我们先来介绍一下 KafkaConsumer 涉及到的一些基础理论。在第一课时介绍 Consumer Group 时提到,对于同一个 Consumer Group 来说,同一个 Topic 的不同 partition 会分配给不同的 consumer 进行消费,那如何分配 partition,如何在有新 consumer 加入以及 consumer 宕机的时候重新分配 partition,就是我们说的 consumer group rebalance。
杨四正
2021-06-09
9451
5、深潜KafkaProducer——Sender线程
通过上一课时的介绍我们了解到,业务线程通过 KafkaProducer.send() 方法将 message 放入 RecordAccumulator 中进行能缓冲,并没有进行实际的网络 I/O 操作,真正的网络 I/O 操作是由 Sender 线程完成。
杨四正
2021-05-26
9370
4、深潜KafkaProducer —— RecordAccumulator
通过上一课时的介绍我们了解到,业务线程使用 KafkaProducer.send() 方法发送 message 的时候,会先将其写入RecordAccumulator 中进行缓冲,当 RecordAccumulator 中缓存的 message 达到一定阈值的时候,会由 IO 线程批量形成请求,发送到 kafka 集群。本课时我们就重点来看一下 RecordAccumulator 这个缓冲区的结构。
杨四正
2021-05-26
1.1K0
3、深潜 kafka producer —— 核心架构
kafka 自定义了一套网络协议,我们可以使用任意语言来实现这套协议,实现向 kafka 集群 push message 以及从 kafka 集群 pull message 的效果。在 kafka 2.8.0 版本的源码中的 clients 模块就是官方默认提供的 Java 版本 producer、consumer 实现,我们本课时重点关注其中的 producer 部分实现。
杨四正
2021-05-18
5430
2、kafka 2.8.0 源码环境搭建
JDK 的安装非常简单,这里我们安装 JDK 8 即可(虽然 JDK 现在的新版本是 16,但是国内生产环境还有相当一大部分还是停留在 8 这个版本上)。首先到 JDK下载地址下载对应系统的 JDK 安装包即可,这里我使用的是 mac 系统,下载 dmg 文件即可。
杨四正
2021-05-18
1.3K0
杨四正的kafka源码剖析课——1、kafka基本概念
message 是 Kafka 中最基本的数据单元,它由 key 和 value 两部分构成,KV 都为字节数组。
杨四正
2021-05-07
5420
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档