深入浅出消息队列---10、Kafka消息幂等性

Kafka消息幂等性

生产端消息重复

问题描述

生产者发送的消息没有收到正确的broke响应,导致producer重试。producer发出一条消息,broker落盘以后因为网络等种种原因发送端得到一个发送失败的响应或者网络中断,然后producer收到一个可恢复的Exception重试消息导致消息重复。

解决方案

1、启动kafka的幂等性
2、retries=0,不重试(可能会丢消息,适用于吞吐量指标重要性高于数据丢失,例如:日志收集)

所谓幂等性,就是对接口的多次调用所产生的结果和调用一次是一致的。生产者在进行重试的时候有可能会重复写入消息,而使用Kafka的幂等性功能就可以避免这种情况。
开启幂等性的方式比较简单,我们只需要设置enable.idempotence参数为true就可以了。如下所示:

spring:
  kafka:
    producer:
      bootstrap-servers: 192

版权声明:本文为u014526891原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。