Apache kafka 卡夫卡主题在消息上没有重复

Apache kafka 卡夫卡主题在消息上没有重复,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,如何通过卡夫卡主题中的信息实现这样的结果 即类似于changelog的功能—有多条消息进入主题,但我只关心最后一条消息 在主题被分区的情况下会发生什么 在卡夫卡中是否有可能实现此目的?要实现此目的,应将此主题的cleanup.policy设置为compact,如下所示: 创建主题: bin/kafka-topics.sh-zookeer localhost:2181-create-topic my-topic-partitions 1-replication factor 1-config cl

如何通过卡夫卡主题中的信息实现这样的结果

即类似于changelog的功能—有多条消息进入主题,但我只关心最后一条消息

在主题被分区的情况下会发生什么


在卡夫卡中是否有可能实现此目的?要实现此目的,应将此主题的cleanup.policy设置为compact,如下所示:

创建主题:

bin/kafka-topics.sh-zookeer localhost:2181-create-topic my-topic-partitions 1-replication factor 1-config cleanup.policy=compact

更新主题:

bin/kafka-configs.sh-zookeer localhost:2181-实体类型主题-实体名称我的主题-alter-添加配置清理。策略=压缩


使用压缩策略集,您必须为每条消息分配一个密钥,Kafka producer将根据该密钥对消息进行分区。

如果我有多个主题分区,会发生什么?具有相同密钥的消息将始终路由到同一分区?是否立即或在一段时间内分批进行压缩?例如,我将key=A的消息发送到主题中,它是唯一的。2秒后,它在同一主题中收到了相同的消息,key=A。如果我在之后立即查询卡夫卡,我会看到2条记录还是1条记录?