kafka 消费者仅在提交时保存偏移量。因此,当它在崩溃后上升时,它可以从先前的偏移量开始。
但是 ack 的目的是什么?如果发生崩溃,ack 将无济于事(如果他们没有提交)
小智 5
确认 = 0
Broker 没有请求任何响应,因此如果 Broker 下线或发生异常,我们将不知道并且会丢失数据。对于可能会丢失作为指标或日志收集的消息的数据很有用。
最好的表现是这样,因为生产者不会等待任何确认。
确认 = 1(默认)
请求领导者响应,但不能保证复制,这发生在后台。如果没有收到确认,生产者可以在没有重复数据的情况下重试。如果领导者代理离线但副本还没有复制数据,我们就会丢失数据。
确认 = 全部
领导者和副本是通过确认请求的,这意味着生产者必须等待收到代理的任何副本的确认才能继续,这会增加延迟但确保安全,此设置确保不会丢失数据。
归档时间: |
|
查看次数: |
1938 次 |
最近记录: |