Kafka对每一个Partition都会在Zookeeper上维护一个ISR列表记录着那些和Leader同步非常及时的Replication,这样只要这些副本同步成功了,就可以响应Producer的ACK。
如果Leader失败了,一个未完全同步数据的Replication被选择为了Leader,数据是否会丢失呢
这种情况下,数据会丢失,可以保证可用性,但是不能保证一致性 * 有一个参数可以指定只允许ISR中的Replication作为leader来保证一致性 unclean.leader.election.enable=false * 同样的,如果ISR中的Replication都不能启动,就会一直没有leader,没法对外服务,也就是虽然保证了一致性,但是就会丢失了可用性。
更多关于“大数据培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。