Kafka有重复的邮件

时间:2015-12-02 05:59:07

标签: apache-kafka kafka-consumer-api kafka-producer-api

在生成或使用数据时我没有看到任何失败,但是生产中有大量重复的消息。对于一个获得大约100k消息的小主题,有大约4k重复,虽然我说没有失败,最重要的是没有实现重试逻辑或设置配置值。

我还检查这些重复消息的偏移值,每个消息都有不同的值,告诉我问题出在生产者身上。

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:6)

阅读有关kafka中消息传递的更多信息:

https://kafka.apache.org/08/design.html#semantics

  

因此,Kafka保证默认情况下至少一次交付   允许用户通过禁用最多实施一次交付   生产者重试并在处理之前提交其偏移量   一批消息。完全一次交付需要与合作   目标存储系统但Kafka提供了偏移量   实现这一点是直截了当的。

可能你正在寻找像jms一样的“一次交付”

https://cwiki.apache.org/confluence/display/KAFKA/FAQ#FAQ-HowdoIgetexactly-oncemessagingfromKafka

  

有两种方法可以在数据期间获得完全一次的语义   制作:1。每个分区使用一个单独的编写器,每次获得一个   网络错误检查该分区中的最后一条消息,看看你的   最后写入成功2.包括主键(UUID或其他)   对消费者的消息和重复数据删除。

我们在系统中实施了第二点。