
1.概述
【Kafka】Kafka幂等性原理及实现剖析
【kafka】Kafka 事务性之幂等性实现
官网:Idempotent Producer
2.简介
Kafka提供了“至少一次”的交付语义。这意味着发送的消息可以传递一次或多次。人们真正想要的是“恰好一次”的语义,即重复的消息不会被传递。
出现重复消息有两个常见原因:
- 如果客户端试图向集群发送消息并得到一个网络错误,那么
重新尝试
将可能导致重复消息。如果在消息传递之前发生了网络错误,则不会发生重复。但是,如果网络错误发生在消息被附加到日志之后,但在响应可以传递给发送者之前,发送者就不知道发生了什么。唯一的选择是重试并冒复制的风险,或者放弃并声明消息丢失。
- 如果一个消费