kafka节点之间如何复制备份的?

1.http://colobu.com/2017/11/02/kafka-replication/


kafka节点之间如何复制备份的?

备份机制是Kafka0.8版本的新特性,备份机制的出现大大提高了Kafka集群的可靠性、稳定性。有了备份机制后,Kafka允许集群中的节点挂掉后而不影响整个集群工作。

一个备份数量为n的集群允许n-1个节点失败。在所有备份节点中,有一个节点作为lead节点,这个节点保存了其它备份节点列表,并维持各个备份间的状体同步。

复制提供了高可用性,Producer继续发布消息,Consumer继续接受消息。

Leader处理此分区的所有的读写请求,而follower被动的复制数据。( 所有的写都发给leader, 然后leader将消息发给follower。)

一个Broker既可能是一个分区的leader,也可能是另一个分区的slave。kafka实际是保证在足够多的slave写入成功的情况下就认为消息写入成功,而不是全部写入成功

Kafka引入了 ISR的概念。ISR是in-sync replicas的简写。ISR的副本保持和leader的同步,当然leader本身也在ISR中。初始状态所有的副本都处于ISR中,当一个消息发送给leader的时候,leader会等待ISR中所有的副本告诉它已经接收了这个消息,如果一个副本失败了,那么它会被移除ISR。下一条消息来的时候,leader就会将消息发送给当前的ISR中节点了。

扫描二维码关注公众号,回复: 1820325 查看本文章

kafka使用Zookeeper实现leader选举。如果leader失败,controller会从ISR选出一个新的leader。

Kafka引入了 ISR的概念。ISR是in-sync replicas的简写。ISR的副本保持和leader的同步,当然leader本身也在ISR中。初始状态所有的副本都处于ISR中,当一个消息发送给leader的时候,leader会等待ISR中所有的副本告诉它已经接收了这个消息,如果一个副本失败了,那么它会被移除ISR。下一条消息来的时候,leader就会将消息发送给当前的ISR中节点了。


猜你喜欢

转载自blog.csdn.net/u010943787/article/details/80526943