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