幂等性
要启用幂等性,只需要将 Producer 的参数中 enable.idompotence 设置为 true 即可。Kafka<br>的幂等性实现其实就是将原来下游需要做的去重放在了数据上游。开启幂等性的 Producer 在<br>初始化的时候会被分配一个 PID,发往同一 Partition 的消息会附带 Sequence Number。而<br>Broker 端会对<PID, Partition, SeqNumber>做缓存,当具有相同主键的消息提交时,Broker 只<br>会持久化一条<br>
但是 PID 重启就会变化,同时不同的 Partition 也具有不同主键,所以幂等性无法保证跨<br>分区跨会话的 Exactly Once<br>