本文主要是介绍就这一次!拼多多内部架构师培训Kafka源码笔记(现已绝版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在大数据、高并发的系统中,为了突破瓶颈,会将系统进行水平扩展和垂直拆分,形成独立的服务。每个独立的服务背后,可能是一个集群在对外提供服务。这就会碰到一个问题,整个系统是由多个服务(子系统)组成的,数据需要在各个服务中不停流转。如果数据在各个子系统中传输时,速度过慢,就会形成瓶颈,降低整个系统的性能。从而就形成了以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 分析
-
ProducerInterceptors&cProducerInterceptor
-
Kafka 集群元数据
-
Serializer&Deserializer
-
Partitioner
2.3 RecordAccumulator分析
-
MemoryR ecords
-
RecordBatch
-
BufferPool
-
RecordAccumulator
2.4 Sender分析
-
创建请求
-
KSelector
-
InFlightRequests
-
MetadataUpdater
-
NetworkClient
第3章消费者
3.1 KafkaConsumer 使用示例
3.2 传递保证语义( Delivery guarantee semantic )
3.3 Consumer Group Rebalance设计
3.4 KafkaConsumer 分析
-
ConsumerNetworkC lient
-
SubscriptionState
-
ConsumerCoordinator.
-
PartitionAssignor 分析
-
Heartbeat 分析
-
Rebalance 实现
-
offset 操作
-
Fetcher
-
KafkaConsumer 分析总结
第4章Kafka服务端
4.1 网络层
-
Reactor模式
-
SocketServer
-
AbstractServer Thread
-
Acceptor
-
Processor
-
RequestChannel
4.2 API层
KafkaR equestHandler
KafkaApis
4.3 日志存储
-
基本概念
-
FileMessageSet
-
ByteBufferMessageSet
-
OfsetIndex
-
LogSegment
-
Log
-
LogManager
4.4 DelayedOperationPurgatory 组件
-
TimingWheel
-
SystemTimer
-
Delayed Dperation
-
DelayedOperationPurgatory
-
DelayedProduce
-
DelayedFetch
4.5 副本机制
-
副本
-
分区
-
ReplicaManager
4.6 KafkaController
-
ControllerChannelManager
-
ControllerContext
-
ControllerBrokerRequestBatch
-
PartitionStateMachine
-
PartitionLeaderSelector
-
ReplicaStateMachine
-
ZooKeeper Listener
-
KafkaController 初始化与故障转移
-
处理ContolledShutdownRequest
4.7 GroupCoordinator
-
GroupMetadataManager
-
GroupCoordinator分析
4.8 身份认证与权限控制
-
配置SASL/PLAIN认证
-
身份认证
-
权限控制
4.9 Kafka 监控
-
JMX 简介
-
Metrics简介
-
Kafka中的Metrics
-
Kafka的监控功能
-
监控KSelector的指标
第5章Kafka Tool
5.1 kafka-server-start 脚本
5.2 kafka-topics 脚本
-
创建Topic
-
修改Topic
5.3kafka-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.11kafka-mirror-maker脚本
总结
大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。
这篇关于就这一次!拼多多内部架构师培训Kafka源码笔记(现已绝版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!