ack:0 数据可靠性:丢数
生产者发送过来的数据,不需要等数据罗盘
ack:1 数据可靠性:丢数
生产者发送过来的数据,leader收到数据后应答
ack:-1
生产者发送过来的数据,leader和ISR队列里面的所有节点收齐数据后应答
数据完全可靠条件=ack级别设置为-1+replica分区副本数大于等于2+ISR版本大于等于2
kafka副本作用:提高数据可靠性
kafka默认副本1个,生产环境一般配置两个,保证数据可靠性;太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率。
kafka中副本分为:leader和follower。kafka生产者会把数据发往leader然后follow找leader进行同步
AR=ISR+OSR
ISR,表示和Leader保持同步的Follower集合。如果Follower长时间未向Leader发送通信请求或同步数据,则该Follower将被踢出ISR。该时间阈值由replica.lag.time.max.ms参数设定,默认30s。Leader发生故障之后,就会从ISR中选举新的Leader。ISR,表示和Leader保持同步的Follower集合。如果Follower长时间未向Leader发送通信请求或同步数据,则该Follower将被踢出ISR。该时间阈值由replica.lag.time.max.ms参数设定,默认30s。Leader发生故障之后,就会从ISR中选举新的Leader
OSR,表示Follower与Leader副本同步时,延迟过多的副本。
本文详细介绍了Kafka的数据可靠性机制,包括不同ACK级别(0、1、-1)对数据丢失的影响,以及副本(replica)如何确保数据安全性。重点讨论了ISR(In-Sync Replicas)和OSR(Out-of-Sync Replicas)的概念,解释了副本数量、ISR阈值对数据完整性的关键作用。同时,提到了Kafka默认和生产环境的副本配置建议,以及副本过多可能带来的存储和效率问题。
948

被折叠的 条评论
为什么被折叠?



