Kafka核心源码解读
00-开篇词-阅读源码,逐渐成了职业进阶道路上的“必选项”.html
01-导读-构建Kafka工程和源码阅读环境、Scala语言热身.html
02-重磅加餐-带你快速入门Scala语言.html
03-01-日志段:保存消息文件的对象是怎么实现的?.html
04-02-日志(上):日志究竟是如何加载日志段的?.html
05-03-日志(下):彻底搞懂Log对象的常见操作.html
06-04-索引(上):改进的二分查找算法在Kafka索引的应用.html
07-05-索引(下):位移索引和时间戳索引的区别是什么?.html
08-06-请求通道:如何实现Kafka请求队列?.html
09-07-SocketServer(上):Kafka到底是怎么应用NIO实现网络通信的?.html
10-08-SocketServer(中):请求还要区分优先级?.html
11-09-SocketServer(下):请求处理全流程源码分析.html
12-10-KafkaApis:Kafka最重要的源码入口,没有之一.html
13-11-Controller元数据:Controller都保存有哪些东西?有几种状态?.html
14-12-ControllerChannelManager:Controller如何管理请求发送?.html
15-13-ControllerEventManager:变身单线程后的Controller如何处理事件?.html
16-14-Controller选举是怎么实现的?.html
17-15-如何理解Controller在Kafka集群中的作用?.html
18-16-TopicDeletionManager:Topic是怎么被删除的?.html
19-17-ReplicaStateMachine:揭秘副本状态机实现原理.html
20-18-PartitionStateMachine:分区状态转换如何实现?.html
21-19-TimingWheel:探究Kafka定时器背后的高效时间轮算法.html
22-20-DelayedOperation:Broker是怎么延时处理请求的?.html
23-21-AbstractFetcherThread:拉取消息分几步?.html
24-22-ReplicaFetcherThread:Follower如何拉取Leader消息?.html
25-23-ReplicaManager(上):必须要掌握的副本管理类定义和核心字段.html
26-24-ReplicaManager(中):副本管理器是如何读写副本的?.html
27-25-ReplicaManager(下):副本管理器是如何管理副本的?.html
28-26-MetadataCache:Broker是怎么异步更新元数据缓存的?.html
29-27-消费者组元数据(上):消费者组都有哪些元数据?.html
30-28-消费者组元数据(下):Kafka如何管理这些元数据?.html
31-29-GroupMetadataManager:组元数据管理器是个什么东西?.html
32-30-GroupMetadataManager:位移主题保存的只是位移吗?.html
33-31-GroupMetadataManager:查询位移时,不用读取位移主题?.html
34-32-GroupCoordinator:在Rebalance中,Coordinator如何处理成员入组?.html
35-33-GroupCoordinator:在Rebalance中,如何进行组同步?.html
36-特别放送(一)-经典的Kafka学习资料有哪些?.html
37-特别放送(二)-一篇文章带你了解参与开源社区的全部流程.html
38-特别放送(三)-我是怎么度过日常一天的?.html
39-特别放送(四)-20道经典的Kafka面试题详解.html
40-特别放送(五)-Kafka社区的重磅功能:移除ZooKeeper依赖.html
41-期中测试-这些源码知识,你都掌握了吗?.html
42-期末测试-一套习题,测试你的掌握程度.html
43-结束语-源码学习,我们才刚上路呢.html