Kafka怎么保证消息不丢失和重复消费

(1)生产者发送消息采用异步回调发送,如果发送失败,我们可以通过回调获取消息信息,可以选择记录日志或者重试,同时生产者也可以设置消息重试机制。

(2)采用broker的复制机制保证消息在broker中不丢失:开启生产者消息确认机制为all,这样的话,当生产者发送消息到了分区之后, 不仅仅只在leader分区保存确认,在follwer分区也会保存确认,只有当所有 的副本都保存确认以后才算是成功发送了消息。

(3)kafka默认采用定期自动提交消费偏移量offset,这样可能会导致消息丢失和消息被重复消费,所以关闭自动提交消费偏移量,当消息消费成功后自己手动提交,这样就能保证消息不丢失和消息不重复消费。

posted @ 2023-09-21 16:14  程序员_YHB  阅读(1626)  评论(0)    收藏  举报