服务质量量
服务语义
服务质量量⼀一般可以分为三个级别,下⾯面说明它们不不同语义。
At most once
⾄至多⼀一次,消息可能丢失,但绝不不会重复传输。 ⽣生产者:完全依赖底层TCP/IP的传输可靠性,不不做特殊 处理理,所谓“发送即忘”。kafka中设置 acks=0 。 消费者:先保存消费进度,再处理理消息。kafka中设置 消费者⾃自动提交偏移量量并设置较短的提交时间间隔。
At least once
⾄至少⼀一次,消息绝不不会丢,但是可能会重复。 ⽣生产者:要做消息防丢失的保证。kafka中设置 acks=1或 all 并设置 retries>0 。 消费者:先处理理消息,再保存消费进度。kafka中设置消费者⾃自动提交偏 移量量并设置很⻓长的提交时间间隔,或者直接关闭⾃自动提交偏移量量,处理理消息后⼿手动调⽤用同步模式的偏移 量量提交。