Kafka對每一個Partition都會在Zookeeper上維護一個ISR列表記錄著那些和Leader同步非常及時的Replication,這樣只要這些副本同步成功了,就可以響應Producer的ACK。
如果Leader失敗了,一個未完全同步數據的Replication被選擇為了Leader,數據是否會丟失呢
這種情況下,數據會丟失,可以保證可用性,但是不能保證一致性 * 有一個參數可以指定只允許ISR中的Replication作為leader來保證一致性 unclean.leader.election.enable=false * 同樣的,如果ISR中的Replication都不能啟動,就會一直沒有leader,沒法對外服務,也就是雖然保證了一致性,但是就會丟失了可用性。
更多關于“大數據培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。