Kafka的消费语义

消费语义

at most once:
最多消费一次 消息0/1 消息可能丢失 但是不会重复消费 -->log
解释:
消费者的offset已经提交,但是消息还在处理,这个时候挂了,再重启的时候会从上次提交的offset处消费,导致上次在处理的消息部分丢失。

at least once:
至少消费1次 消息>=1 消费不可能丢失 但是会重复消费 -->
很多公司都用这个
解释:
消费者已经处理完了,但是offset还没提交,那么这个时候消费者挂了,就会导致消费者重复消费消息处理。但是由于auto.commit.interval.ms设置为一个较低的时间范围,会降低这种情况出现的概率。

insert ok insert再做一次
update 挂了

exactly once:
正好1次 消息 1 不会丢失 也不会重复 但是代码维护 、外部存储维护量大
外部存储offset zk、hbase、redis
官方支持,有待验证

猜你喜欢

转载自blog.csdn.net/qq_43688472/article/details/86476097
今日推荐