Architecture 避免卡夫卡上的非连续重复消息

Architecture 避免卡夫卡上的非连续重复消息,architecture,apache-kafka,Architecture,Apache Kafka,在这里,我们有一个在卡夫卡上生成优先票证的服务,第二个服务是人工操作员使用这些票证呼叫客户。门票每天都会生成。问题是一些客户可能会在几天内被推到卡夫卡,我们不想给客户打两次电话 目前,我们正在考虑保留一个表来存储已处理的客户,并在重复时跳过它们。另一个选择是卡夫卡自动跳过这些重复的内容。所以,问题是,如果给定一个身份密钥,是否有办法告诉卡夫卡避免重复已经处理过的消息 重复消息应始终由消息使用者处理。没有一种技术可以完全防止复制,同时保证交付。(正如cricket_007在评论中指出的那样,这不是

在这里,我们有一个在卡夫卡上生成优先票证的服务,第二个服务是人工操作员使用这些票证呼叫客户。门票每天都会生成。问题是一些客户可能会在几天内被推到卡夫卡,我们不想给客户打两次电话


目前,我们正在考虑保留一个表来存储已处理的客户,并在重复时跳过它们。另一个选择是卡夫卡自动跳过这些重复的内容。所以,问题是,如果给定一个身份密钥,是否有办法告诉卡夫卡避免重复已经处理过的消息

重复消息应始终由消息使用者处理。没有一种技术可以完全防止复制,同时保证交付。(正如cricket_007在评论中指出的那样,这不是卡夫卡的特点,鉴于此,责任必须进一步推卸)


至少,每条消息都应该有一个唯一的标识符,以便消费者能够确定以前是否见过它。在消费者端设置一个表,通过其唯一id跟踪已处理的消息是一个常见的解决方案。

Kafka不会为您处理此问题。您需要将ID存储在某个查找表的侧面