kafka
文章平均质量分 79
ijbuhv
这个作者很懒,什么都没留下…
展开
-
Kafka源码分享----TransactionCoordinator
总体介绍 transactionCoordinator来协调事务的,在介绍之前先了解几个名词 transactionId: 这是应用程序提供的唯一的标识同一个应用程序的id produceId: 其主要的操作时对每一个事务生成一个<produceId,produceEpoch>来表示一个事务,对于每个向业务队列生产的消息和向consume_offsets提交的消息都会带上这个键值对来表示是属于同一个事务,在transacationCoordinator为每一个transactionId原创 2020-05-25 20:36:44 · 669 阅读 · 0 评论 -
kafka源码分享------GroupCoordinator
总体介绍 GroupCoordinator是一个协调器,它协调的是在同一个组的消费者对topic_partition的分配策略。其主要作用是根据客户端支持的分配策略,选出一个leader并让leader来做partition的分配并通知给其他所有的consumer的操作。GroupCoordinator不做topicPartition的分配,其主要是根据客户端传来的分配策略选举出一个策略,并选举一个leader,并让leader来进行partition的分配,并将leader的分配结果同步到其他的consu原创 2020-05-19 16:30:30 · 395 阅读 · 0 评论 -
Kafka源码分享----ReplicaManager
ReplicaManager的数据 上图描述了ReplicaManager主要维护的数据,主要有: allPartitions: 维护了所有的Partition,其结构是一个Map,key是TopicPartition。而每一个Partition维护的数据有: AR: 其结构是一个map,key为replica对应的brokerId,value是replica,维护的是这个partiti...原创 2020-05-05 10:28:15 · 416 阅读 · 0 评论 -
kafka源码分享----controller
整体架构 下图是kafkaController的主要组件的架构图。 KafkaController中ControllerEventManager维护一个单线程,维护一个队列接收其他组件产生的event在ControllerEventManager中顺序执行,handlers监听zk的相关节点变化,并在变化时加入相关ControllerEvent到ControllerEventManager中,各...原创 2020-04-13 11:15:00 · 469 阅读 · 0 评论