kafka消息丢失?

kafka消费端消息丢失?

场景:
设置offset不自动提交
kafka中有A消息,B消息

过程:
A消息 offset不提交(业务操作失败,希望重新消费)
B消息(业务成功)offset提交

结果:
导致offset移动到了消息B,消息A就无法重新消费了?

方案:
建立新topic,失败消息放入此topic重试消费,超过指定次数记录然后人工处理

阅读 2.8k
1 个回答

Kafka 本来就是 at least once,至少投递一次,保证消息不丢,但是不保证消息不重复。

你应该自己在业务上做处理来保证消息幂等,比如记录流水号之类的。