拼多多内部架构师培训Kafka源码笔记(现已绝版)

在大数据、高并发的系统中,为了突破瓶颈,会将系统进行水平扩展和垂直拆分,形成独立的服务。每个独立的服务背后,可能是一个集群在对外提供服务。这就会碰到一个问题,整个系统是由多个服务(子系统)组成的,数据需要在各个服务中不停流转。如果数据在各个子系统中传输时,速度过慢,就会形成瓶颈,降低整个系统的性能。从而就形成了以Kafka为中心的解决方案!

因为阅读Kafka源码重要性就不言而喻,今天小编就分享一份拼多多Kafka的源码笔记,现已面向大众全面开源!

需要完整的 kafka 手抄本已经为大家整理成PDF格式
如果需要完整版的老铁们可以帮忙三连支持一下,点击文末名片即可入手~

这份笔记从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 手抄本已经为大家整理成PDF格式
如果需要完整版的老铁们可以帮忙三连支持一下,点击下方名片即可入手~
  • 23
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值