1970-01-01
05 索引(下):位移索引和时间戳索引的区别是什么?你好,我是胡夕。今天,我们继续说索引那些事儿。 在上节课,我带你重点学习了Kafka源码中索引的抽象父类AbstractIndex。我分析了AbstractIndex类的大体对象结构,还介绍了社区改...
05 索引(下):位移索引和时间戳索引的区别是什么?你好,我是胡夕。今天,我们继续说索引那些事儿。 在上节课,我带你重点学习了Kafka源码中索引的抽象父类AbstractIndex。我分析了AbstractIndex类的大体对象结构,还介绍了社区改...
06 请求通道:如何实现Kafka请求队列?你好,我是胡夕。日志模块我们已经讲完了,你掌握得怎样了呢?如果你在探索源码的过程中碰到了问题,记得在留言区里写下你的困惑,我保证做到知无不言。 现在,让我们开启全新的“请求处理模块”的源码学习之旅。坦率地讲...
24 ReplicaManager(中):副本管理器是如何读写副本的?你好,我是胡夕。上节课,我们学习了ReplicaManager类的定义和重要字段,今天我们接着学习这个类中的读写副本对象部分的源码。无论是读取副本还是写入副本,都是通过底层的Par...
26 MetadataCache:Broker是怎么异步更新元数据缓存的?你好,我是胡夕。今天,我们学习Broker上的元数据缓存(MetadataCache)。 你肯定很好奇,前面我们不是学过Controller端的元数据缓存了吗?这里的元数据缓存...
27 消费者组元数据(上):消费者组都有哪些元数据?你好,我是胡夕。从今天这节课开始,我们进入到最后一个模块的源码学习:消费者组管理模块。 在这个模块中,我将会带你详细阅读Kafka消费者组在Broker端的源码实现,包括消费者组元数据的定义与管理、...
28 消费者组元数据(下):Kafka如何管理这些元数据?你好,我是胡夕。今天我们继续学习消费者组元数据。 学完上节课之后,我们知道,Kafka定义了非常多的元数据,那么,这就必然涉及到对元数据的管理问题了。 这些元数据的类型不同,管理策略也就不一样...
29 GroupMetadataManager:组元数据管理器是个什么东西?你好,我是胡夕。今天,我们学习GroupMetadataManager类的源码。从名字上来看,它是组元数据管理器,但是,从它提供的功能来看,我更愿意将它称作消费者组管理器,因...
30 GroupMetadataManager:位移主题保存的只是位移吗?你好,我是胡夕。今天,我们学习位移主题管理的源码。 位移主题,即 consumer_offsets,是Kafka的两大内部主题之一(另一个内部主题是管理Kafka事务的,名字是...
31 GroupMetadataManager:查询位移时,不用读取位移主题?你好,我是胡夕。 上节课,我们学习了位移主题中的两类消息: 消费者组注册消息 和 消费者组已提交位移消息 。今天,我们接着学习位移主题,重点是掌握写入位移主题和读取位移主题...
32 GroupCoordinator:在Rebalance中,Coordinator如何处理成员入组?你好,我是胡夕。不知不觉间,课程已经接近尾声了,最后这两节课,我们来学习一下消费者组的Rebalance流程是如何完成的。 提到Rebalance...