Kafka是一种高货运量的分布式系统公布定阅信息系统软件,,这书以Kafka0.10.0版本号源代码为基本,深层次分析了Kafka的每个控制模块的保持,包含Kafka的经营者手机客户端、顾客手机客户端、服务器端的每个控制模块及其常见的管理方法脚本制作。创作者对Kafka设计方案的了解和经验共享也穿插了分析源代码的全过程中,能够协助阅读者学习培训Kafka中出色的设计方案观念及其Java和Scala的程序编写方法和标准。
《Apache Kafka源码剖析》这书以Kafka0.10.0版本号源代码为基本,对于Kafka的架构模式到保持关键点开展详尽论述。这书共5章,从Kafka的应用领域、源代码自然环境构建刚开始逐渐深层次,对Kafka的关键定义开展解析详细介绍,对Kafka经营者、顾客、服务器端的源代码开展深层次的分析,*后详细介绍Kafka常见的管理方法脚本制作保持,让阅读者不但从宏观经济设计方案上掌握Kafka,并且可以深层次到Kafka的关键点设计方案当中。在源代码解析的全过程中,还交叉了小编工作中累积的经验解析和对Kafka设计方案的了解,期望可以让阅读者能够举一反三,不但知其所以然,并且知其然。这书致力于为阅读者阅读文章Kafka源代码出示协助和具体指导,让阅读者更为深层次地掌握Kafka的运作基本原理、设计构思,让阅读者在设计方案分布式服务时能够参照Kafka的出色设计方案。这书的內容针对阅读者全面提高自身的技术性工作能力有挺大协助。
目录
- 第1章 快速入门
- 1.1 Kafka简介
- 1.2 以Kafka为中心的解决方案
- 1.3 Kafka核心概念
- 1.4 搭建Kafka源码环境
- 本章小结
- 第2章 生产者
- 2.1 KafkaProducer使用示例
- 2.2 KafkaProducer分析
- 2.2.1 ProducerInterceptors&ProducerInterceptor
- 2.2.2 Kafka集群元数据
- 2.2.3 Serializer&Deserializer
- 2.2.4 Partitioner
- 2.3 RecordAccumulator分析
- 2.3.1 MemoryRecords
- 2.3.2 RecordBatch
- 2.3.3 BufferPool
- 2.3.4 RecordAccumulator
- 2.4 Sender分析
- 2.4.1 创建请求
- 2.4.2 KSelector
- 2.4.3 InFlightRequests
- 2.4.4 MetadataUpdater
- 2.4.5 NetworkClient
- 本章小结
- 第3章 消费者
- 3.1 KafkaConsumer使用示例
- 3.2 传递保证语义(Delivery guarantee semantic)
- 3.3 Consumer Group Rebalance设计
- 3.4 KafkaConsumer分析
- 3.4.1 ConsumerNetworkClient
- 3.4.2 SubscriptionState
- 3.4.3 ConsumerCoordinator
- 3.4.4 PartitionAssignor分析
- 3.4.5 Heartbeat分析
- 3.4.6 Rebalance实现
- 3.4.7 offset操作
- 3.4.8 Fetcher
- 3.4.9 KafkaConsumer分析总结
- 本章小结
- 第4章 Kafka服务端
- 4.1 网络层
- 4.1.1 Reactor模式
- 4.1.2 SocketServer
- 4.1.3 AbstractServerThread
- 4.1.4 Acceptor
- 4.1.5 Processor
- 4.1.6 RequestChannel
- 4.2 API层
- 4.2.1 KafkaRequestHandler
- 4.2.2 KafkaApis
- 4.3 日志存储
- 4.3.1 基本概念
- 4.3.2 FileMessageSet
- 4.3.3 ByteBufferMessageSet
- 4.3.4 OffsetIndex
- 4.3.5 LogSegment
- 4.3.6 Log
- 4.3.7 LogManager
- 4.4 DelayedOperationPurgatory组件
- 4.4.1 TimingWheel
- 4.4.2 SystemTimer
- 4.4.3 DelayedOperation
- 4.4.4 DelayedOperationPurgatory
- 4.4.5 DelayedProduce
- 4.4.6 DelayedFetch
- 4.5 副本机制
- 4.5.1 副本
- 4.5.2 分区
- 4.5.3 ReplicaManager
- 4.6 KafkaController
- 4.6.1 ControllerChannelManager
- 4.6.2 ControllerContext
- 4.6.3 ControllerBrokerRequestBatch
- 4.6.4 PartitionStateMachine
- 4.6.5 PartitionLeaderSelector
- 4.6.6 ReplicaStateMachine
- 4.6.7 ZooKeeper Listener
- 4.6.8 KafkaController初始化与故障转移
- 4.6.9 处理ControlledShutdownRequest
- 4.7 GroupCoordinator
- 4.7.1 GroupMetadataManager
- 4.7.2 GroupCoordinator分析
- 4.8 身份认证与权限控制
- 4.8.1 配置SASL/PLAIN认证
- 4.8.2 身份认证
- 4.8.3 权限控制
- 4.9 Kafka监控
- 4.9.1 JMX简介
- 4.9.2 Metrics简介
- 4.9.3 Kafka中的Metrics
- 4.9.4 Kafka的监控功能
- 4.9.5 监控KSelector的指标
- 第5章 Kafka Tool
- 5.1 kafka-server-start脚本
- 5.2 kafka-topics脚本
- 5.2.1 创建Topic
- 5.2.2 修改Topic
- 5.3 kafka-preferred-replica-election脚本
- 5.4 kafka-reassign-partitions脚本
- 5.5 kafka-console-producer脚本
- 5.6 kafka-console-consumer脚本
- 5.7 kafka-consumer-groups脚本
- 5.8 DumpLogSegments
- 5.9 kafka-producer-perf-test脚本
- 5.10 kafka-consumer-perf-test脚本
- 5.11 kafka-mirror-maker脚本
- 本章小结