kafka源码解析Word版详解编程语言

免积分下载: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

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11808.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论