Apache kafka 如何检测卡夫卡主题中的重复消息?
嗨,我有一个类似下图的架构 我有两个卡夫卡制作人,他们会经常向卡夫卡主题发送重复消息 是否有一种方法可以让我轻松地处理这种情况,比如服务巴士主题 谢谢你的帮助Apache kafka 如何检测卡夫卡主题中的重复消息?,apache-kafka,kafka-consumer-api,azureservicebus,kafka-producer-api,apache-kafka-streams,Apache Kafka,Kafka Consumer Api,Azureservicebus,Kafka Producer Api,Apache Kafka Streams,嗨,我有一个类似下图的架构 我有两个卡夫卡制作人,他们会经常向卡夫卡主题发送重复消息 是否有一种方法可以让我轻松地处理这种情况,比如服务巴士主题 谢谢你的帮助 假设您实际上有多个不同的制作人编写相同的消息,我可以看到以下两个选项: 1) 将所有重复项写入单个卡夫卡主题,然后使用卡夫卡流(或任何其他流处理器,如Flink、Spark Streaming等)来消除消息的重复,并将消除重复的结果写入新主题 下面是一个使用州立商店的卡夫卡流的好例子: 2) 确保复制的邮件具有相同的邮件密钥。在这之后,您
假设您实际上有多个不同的制作人编写相同的消息,我可以看到以下两个选项: 1) 将所有重复项写入单个卡夫卡主题,然后使用卡夫卡流(或任何其他流处理器,如Flink、Spark Streaming等)来消除消息的重复,并将消除重复的结果写入新主题 下面是一个使用州立商店的卡夫卡流的好例子:
2) 确保复制的邮件具有相同的邮件密钥。在这之后,您需要启用和卡夫卡将最终摆脱重复。这种方法不太可靠,但如果您适当调整压缩设置,它可能会提供您想要的内容。现在,Apache Kafka只支持一次交付:您的问题相当抽象。。。你的意思是,一个制作人多次发送一条消息?如果是,您可以利用Kafka 0.11中添加的“幂等生产者”。否,我有两个不同的生产者,它们有时会向Kafka主题写入相同的消息。@sap1ens在下面给出了一个很好的答案。