首页 笔记 图片 查字 
所属分类:Kafka
浏览:44
内容:

数据可靠性:
1、ack应答机制
0:客户端不等到分区leader应答,会继续发送数据。leader挂了以后会丢数据。
1:客户端等到分区leader应答后,才继续发送数据。当leader应答后挂了,其它follower没有同步数据,也会丢数据。
-1(all):客户端等到分区leader应答并且所有follower同步完数据后,才继续发送数据。当follower同步完数据,leader未应答时候挂了,新选的leader会收到已经同步的数据,出现数据重复。

2、isr同步副本队列:
Leader 维护了一个动态的 in-sync replica set (ISR),意为和 leader 保持同步的 follower 集合。
如果 Leader 进程挂掉,会在 ISR 队列中选择一个服务作为新的 Leader。
同步延迟条数和同步延迟时间两个参数决定一个broker服务是否可以加入 ISR 副本队列,在0.10 版本移除了 延迟条数 参数,防止服务频繁的进去队列。
超过同步延迟时间阈值,就会把 Follower 剔除出 ISR,存入到 OSR 列表,新加入的 Follower 也会先存放在 OSR 中。

数据完全可靠条件 = ACK级别设置为(-1) + 分区副本大于等于2 + ISR里应答的最小副本数量大于等于2