《kafka核心源码解读》总结一:总览
kafak核心目录:
bin 目录:保存 Kafka 工具行脚本,kafka-server-start 和 kafka-consoleproducer 等
clients 目录:保存 Kafka 客户端代码,比如生产者和消费者的代码
config 目录:保存 Kafka 的配置文件,如 server.properties
connect 目录:保存 Connect 组件的源代码,,该组件是用来实现 Kafka 与外部系统之间的实时数据传输的
core 目录:保存 Broker 端代码,服务器端代码全部保存在该目录下
controller 包:保存了 Kafka 控制器(Controller)代码,控制器组件是 Kafka 的核 心组件
coordinator 包:保存了消费者端的 GroupCoordinator 代码和用于事务的 TransactionCoordinator 代码 log 包:保存了 Kafka 最核心的日志结构代码,包括日志、日志段、索引文件等,还封装了 Log Compaction 的实现机制
network 包:封装了 Kafka 服务器端网络层的代码,特别是 SocketServer.scala 这个文 件,是 Kafka 实现 Acceptor 模式的具体操作类
server 包:Kafka 的服务器端主代码,里面的类非常多,很多关键的 Kafka 组件都存放在这里,比如状态机、Purgatory 延时机制等
streams 目录:保存 Streams 组件的源代码,是实现 Kafka 实时流处理的组件