首页 > 其他分享 >15_Kafka高级_生产者ACk机制

15_Kafka高级_生产者ACk机制

时间:2022-11-17 12:35:00浏览次数:42  
标签:15 producer ACk broker Kafka ack follower 数据 leader


3)ack应答机制
对于某些不太重要的数据,对数据的可靠性要求不是很高,能够容忍数据的少量丢失,所以没必要等ISR中的follower全部接收成功。
所以Kafka为用户提供了三种可靠性级别,用户根据对可靠性和延迟的要求进行权衡,选择以下的配置。
acks参数配置:
acks:
0:producer不等待broker的ack,这一操作提供了一个最低的延迟,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据;
1:producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前leader故障,那么将会丢失数据;

-1(all):producer等待broker的ack,partition的leader和follower全部落盘成功后才返回ack。但是如果在follower同步完成后,broker发送ack之前,leader发生故障,那么会造成数据重复。

ack=-1的时候也会出现丢数据的情况,但是很少的概率,一般都是造成数据重复。
什么时候丢数据呢?
当ISR中只有leader的时候,其他的follower都不在ISR中,这种情况就退化到了ack=1的情况了。


标签:15,producer,ACk,broker,Kafka,ack,follower,数据,leader
From: https://blog.51cto.com/u_15881639/5860646

相关文章