摸索kafka的ack的机制

本文探讨了Kafka中acks参数的三种配置:0、1和-1(或all)。0表示无响应,可能导致消息丢失但能实现最大吞吐量;1则在消息写入leader后返回ack,若leader故障,数据可能丢失;-1则等待所有ISR副本成功写入,确保高一致性但可能增加延迟。
摘要由CSDN通过智能技术生成

在这里插入图片描述
Kafka的ack机制,指的是producer的消息发送确认机制,这直接影响到Kafka集群的吞吐量和消息可靠性。而吞吐量和可靠性就像硬币的两面,两者不可兼得,只能平衡。
acks参数配置:
ack有3个可选值,分别是1,0,-1。

0 :生产者发送消息不需要等待任何服务端的响应,如果在发送消息写入kafka的时候出现异常,导致kafka并没有接受到这条消息,那么生产者无从得知,消息也就丢失了,但是这种情况延迟低,设置为0,可达到最大吞吐量
(简单来说就是producer发送一次就不再发送了,不管是否发送成功。发给你就完事了)
1
生产者发完消息后,消息成功写入到leader后,就返回ack机制,这种情况不用等待follower同步才发送ack,如果写入成功后的leader突然宕机,选择另外一个follower当leader,再次写入就丢失数据了
简单来说就是,producer只要收到一个分区副本成功写入的通知就认为推送消息成功了。这里有一个地方需要注意,这个副本必须是leader副本。只有leader副本成功写入了,producer才会认为消息发送成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值