Kafka发送消息流程与选举机制

本文介绍了Kafka的选举机制,特别是Controller的角色,它负责broker管理和topic分区的leader选举。同时,详细阐述了Kafka发送消息的流程,重点讨论了producer的异步发送模式,包括RecordAccumulator的作用,以及main线程如何过滤、序列化和分片消息。

 

Kafka的选举机制

 

Kafka集群中有一个broker会被选举为Controller,负责管理集群broker的上下线,所有topic的分区副本分配和leader选举等工作,而对Controller的管理依赖于zk

leader的选举过程

 

 

Kafka的发送消息流程

 

Kafka的producer发送消息采用异步的形式,在消息发送过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中;拉取消息发送到Kafka broker中

思考,为什么要引入RecordAccumulator?

 

main线程的执行流程:

先执行过滤器对不合法的要求进行过滤,然后对其进行序列化,最后再进行的分片 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值