kafka消费端消息丢失?
场景:
设置offset不自动提交
kafka中有A消息,B消息
过程:
A消息 offset不提交(业务操作失败,希望重新消费)
B消息(业务成功)offset提交
结果:
导致offset移动到了消息B,消息A就无法重新消费了?
方案:
建立新topic,失败消息放入此topic重试消费,超过指定次数记录然后人工处理
kafka消费端消息丢失?
场景:
设置offset不自动提交
kafka中有A消息,B消息
过程:
A消息 offset不提交(业务操作失败,希望重新消费)
B消息(业务成功)offset提交
结果:
导致offset移动到了消息B,消息A就无法重新消费了?
方案:
建立新topic,失败消息放入此topic重试消费,超过指定次数记录然后人工处理
Kafka 本来就是
at least once
,至少投递一次,保证消息不丢,但是不保证消息不重复。你应该自己在业务上做处理来保证消息幂等,比如记录流水号之类的。