生产者给Kafka的Topic发送消息

生产者给TopicA——Partition0发送消息

ACK机制是在这个地方用到的
6.leader是等所有的follower同步完消息后才发送消息,但是这里说的不准确
因为,follower会有挂的可能性,所以kafka又维护了一个ISR队列,只有活着的follower才能进入到这个队列里面,只要leader把ISR队列里面的follower同步完就可以了。

选举也是从ISR里面选一个就行了。

怎么判断follower什么时候被踢出ISR呢?
默认是10000ms(10S)被踢出ISR队列。
(0.8之前要有两个条件才被踢出(条数、时间),0.8之后才只有时间)

总结一下逻辑顺序:生产者给topic发消息---怎么发?(给leader发)--有副本(所以要对所有的follower同步(这个地方可以用ACK机制进行限制))--但是follower有挂的可能---所以要维护一个ISR队列--只有进的了对列的follower才可以被用(如何判断follower被踢出ISR?leader挂了的时候,也是从ISR队列里面的follower选一个成为新的leader)。

你可能感兴趣的:(kafka)