kafka源码解析Word版

本文详细剖析了Kafka的源码,涵盖kafka诞生背景、内部专业术语、Broker的工作原理,包括Broker的启动、LogManager和ReplicaManager等关键组件,以及客户端创建topic、生产者和消费者的数据交互流程。
摘要由CSDN通过智能技术生成

免积分下载:http://download.csdn.net/detail/wl044090432/9487835

目录内容:

Kafka源码解析

目录

Kafka源码解析... 1

一.         kafka诞生的背景... 2

1.1 kafka在LinkedIn内部的应用... 3

1.2 它的主要设计目标:... 3

1.3 为什么我们要使用消息系统:... 4

二.         kafka内部的专业术语... 5

2.1 kafka的组成... 5

2.2 Kafka拓扑结构... 6

三.         Broker. 7

3.1 Broker的启动... 7

3.2 Broker的模块组成... 10

3.3 Broker处理的request的来源... 11

3.4 SocketServer. 12

3.5 KafkaRequestHandlerPool16

3.6 KafkaApis. 18

3.6.1 LogManager. 18

3.6.1.1 kafka日志的组成... 18

3.6.1.2 LogManager的启动... 21

3.6.2 ReplicaManager. 23

3.6.2.1 LeaderAndISRCommand处理流程... 24

3.6.2.2 StopReplicaCommand处理流程... 27

3.6.2.3 maybeShrinkIsr处理流程... 28

3.6.3 OffsetManager. 29

3.6.3.1 offsetsCache的更新机制... 29

3.6.3.2 compact机制... 30

3.6.4 KafkaApis. 31

3.6.4.1 RequestKeys.ProduceKey. 32

3.6.4.2 RequestKeys. FetchKey. 34

3.6.4.3 RequestKeys. OffsetsKey. 34

3.6.4.4 RequestKeys. MetadataKey. 35

3.6.4.5 RequestKeys. LeaderAndIsrKey. 36

3.6.4.6 RequestKeys. StopReplicaKey. 36

3.6.4.7 RequestKeys. UpdateMetadataKey. 36

3.6.4.8 RequestKeys. ControlledShutdownKey. 37

3.6.4.9 RequestKeys. OffsetCommitKey. 37

3.6.4.10 RequestKeys. OffsetFetchKey. 38

3.6.4.11 RequestKeys. ConsumerMetadataKey. 38

3.7 KafkaController. 39

3.7.1 KafkaController成为leader的过程... 39

3.7.2 kafkaController的初始化(leader)... 41

3.7.3 KafkaController PartitionStateMachine. 43

3.7.4 KafkaController PartitionLeaderSelector. 45

3.7.4.1 NoOpLeaderSelector. 45

3.7.4.2 OfflinePartitionLeaderSelector. 46

3.7.4.3 ReassignedPartitionLeaderSelector. 46

3.7.4.4 PreferredReplicaPartitionLeaderSelector. 47

3.7.4.5 ControlledShutdownLeaderSelector. 47

3.7.5 KafkaController ReplicaStateMachine. 48

3.7.6 KafkaController内部的listener. 51

3.7.6.1 brokerChangeListener. 51

3.7.6.2 topicChangeListener. 52

3.7.6.3 deleteTopicsListener. 53

3.7.6.4 preferredReplicaElectionListener. 53

3.7.6.5 partitionReassignedListener. 54

3.7.6.6 AddPartitionsListener. 57

3.7.7 KafkaController内部rebalance流程... 57

3.7.8 KafkaController内部topic删除流程TopicDeletionManager. 59

3.7.9 KafkaController(leader)和其它broker通信流程ControllerChannelManager. 60

3.8 KafkaHealthcheck. 61

3.9 TopicConfigManager. 62

四.         客户端如何创建topic. 63

五.         生成者流程(客户端如何向topic发送数据)65

六.         消费者流程(客户端如何获取topic的数据)68

6.1 普通消费者... 68

6.2 高级消费者... 71

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值