Kafka的独立制作人使用Spring Boot和负载均衡器

时间:2017-12-13 12:19:57

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

我已经从Confluent安装了Apache Kafka(使用rest-api和schema-registry)。我使用spring-boot和spring-kafka实现了生产者(每个事件都有在数据库触发器中生成的uuid)。现在我想将它作为多个实例运行 - 但是在kafka中省略重复项的正确方法是什么?如果我在负载均衡器后面有很少的spring-boot实例,并且每个实例都有相同生成的uuid的事件,那么如何只向kafka发送一个?我可以在春天生成uuid,但事件的内容仍然是相同的,没有必要从每个实例发送它(数据库的触发器将向每个生产者发送内容)。

1 个答案:

答案 0 :(得分:0)

我认为你应该看一下Apache Kafka Log Compaction功能:

  

日志压缩至少保留单个主题分区的每个记录键的最后已知值。压缩日志对于在崩溃或系统故障后恢复状态非常有用。

因此,您的UUID将成为记录密钥,而另一方的消费者只能使用此密钥的一条记录。