Reactor Kafka中receiveAutoAck是否满足至少一次语义的技术疑问
Reactor Kafka receiveAutoAck:确认时机与语义说明
- 确认时机:使用
receiveAutoAck时,框架的自动确认操作是在用户代码处理完消息并正常返回后才执行的,不会在消息批次传递给用户代码前就完成确认。 - 语义符合性:这种机制完全符合*至少一次(At Least Once)*语义:
- 只有当业务逻辑成功处理消息(无异常抛出、处理流程正常结束),框架才会向Kafka发送offset确认请求。
- 如果处理过程中发生异常,框架不会触发自动确认,Kafka会将该消息重新分发给消费者,确保消息不会丢失。
注意:如果你的业务逻辑不具备幂等性,需要额外处理重复消息的场景;若为幂等逻辑,该模式可直接安全使用。
内容的提问来源于stack exchange,提问作者koufa
相关产品推荐
相关产品推荐

