Kafka 源码分析系列

2,078 阅读4分钟
原文链接: github.com
  • 内容:这近一年的时间,对 Kafka 的源码看了很多,但是并没有系统地去总结,希望自己在未来的半年到一年里能完成对 Kafka 源码分析的文章;
  • 指定一个小目标:每两周输出一篇 Kafka 分析的相关文章。(2017.6.11立)
  • 每篇文章都要用一张图表现出来(从第三篇开始,2017.7.17)。

Kafka Producer 端系列的源码分析,目前能想到的几个主题:

Kafka Consumer 端系列源码分析,分别以下几个部分来讲述(大概会分为5个):

Kafka Server 端的源码解析,主要分为以下三块来讲解(大概会有8篇左右的文章):

GroupCoordinator

存储层

Controller

这部分计划在 6.11 前讲述完。

Kafka Server 端

最后总述。

其它内容(包括后来的 new feature):

  1. producer 端如何实现不重(1.0.0代码)KIP-98 - Exactly Once Delivery and Transactional Messaging
  2. kafka 能否做到完全不丢(腾讯开源的一个 mq:微信开源PhxQueue:高可用、高可靠、高性能的分布式队列),或者有没有什么情况下kafka 即使做了不丢的设置,还是会有丢失的风险?
  3. Kafka 限流是如何做的?

马上就到2018.6.11了,这个小项目也算是立项一年了,庆幸的是自己能够坚持下来了,遗憾的时候没有在一年的时间内完成,后续其他的源码阅读要督促自己,保证总体按照计划去进行(立于2018.6.10)。

截至昨天晚上(2018-06-27),Kafka 源码解析系列23篇终于完成,主要是 client 与 core 部分的代码。