赞
踩
在Kafka中,每个topic都可以配置多个分区以及多个副本。每个分区都有一个leader以及0个或者多个follower。在创建topic时,Kafka会将每个分区的leader均匀地分配在每个broker上。我们正常使用Kafka是感觉不到leader、follower的存在的。
但其实,所有的读写操作都是由leader处理的,而所有的follower都是复制leader的日志数据文件,如果leader出现故障时,follower就会选举为leader。
所以说
leader职责 读写数据
follower职责 同步数据、参与选举(leader crash之后,会选举一个follower重新成为分区的leader)
答:
zookeeper的leader负责读、写;follower可以读取,但不能写
Kafka的leader 负责读、写;follower不能读写数据,而是作为每个消费者消费的数据一致的。
Kafka的一个topic可以有多个分区,一样可以实现数据操作的负载均衡。
在zk中会保存AR(Assigned Replicas)列表,其中包含了分区所有的副本,其中 AR = ISR+OSR
ISR(in sync replica):是kafka动态维护的一组同步副本,在ISR中有成员存活时,只有这个组的成员才可以成为leader,内部保存的为每次提交信息时必须同步的副本(acks = all时),每当leader挂掉时,在ISR集合中选举出一个follower作为leader提供服务,当ISR中的副本被认为坏掉的时候,会被踢出ISR,当重新跟上leader的消息数据时,重新进入ISR。可以理解为在f
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。