当前位置: 首页 > 知识库问答 >
问题:

Java Spring boot kafka使用偏移量从主题中删除消息

云丰
2023-03-14

我试图创建一个Spring引导应用程序(java),它必须能够通过给它的偏移数和分区从Kafka主题删除消息。我一直在研究java或Spring Boot包类可以做到这一点,但我只发现了这样的东西:从Apache Kafka主题中删除消息有一个java kafka客户端有一个方法来删除所有消息之前一个偏移,但我只是一个删除一个。这是可能的吗?

提前感谢

共有1个答案

黄景胜
2023-03-14

如果您只有偏移量编号和分区,并且您可以删除该偏移量处的记录,那么您不能保证所有使用者最终都会有一致的视图,所以这就是为什么它不是标准操作的原因。

建议:使用相同的密钥编写一个新记录,空主体可以作为一个事件,告诉所有消费者该记录已被删除。

主体为空的记录将保留在“删除保留时间”中配置的主题中。这通常比正常的保留时间长,以确保消费者有足够的时间删除过时的记录。删除保留时间到期后,原始记录和空记录都将通过日志压缩删除。

 类似资料:
  • 为什么实际主题中的偏移值与同一主题中的偏移值不同?PFB偏移位置以及使用的命令。 我错过了什么?

  • 向源生成特殊的clear-message,这将导致聚合的消息变为空 将消息直接写入具有空数据的中间主题 另一种方式,也许kafka-streams已经有一个API调用了? 加分问题:如果我知道我不想让消息坐在中间话题中的时间超过6个月,我可以指示kafka-streams创建6M留存的中间话题,还是在我运行App之前我自己手动创建话题?

  • 因此,我是使用Apache Kafka的新手,我正在尝试创建一个简单的应用程序,以便我可以尝试更好地理解API。我知道这个问题在这里被问了很多,但是我该如何清除存储在主题上的消息/记录? 我看到的大部分回答都是说更改消息保留时间或者删除

  • 我创建了一个制作人和一个消费者,使用“Kafka节点”包发送和消费Kafka主题的消息。生产者和消费者通过API进行调用。POST方法用于向主题发送消息,而GET方法用于在消费者处从主题获取消息。 当我向KAFKA发送消息后调用consumer API时,之前的所有消息都会在。 我只需要最后一条消息,这是生产者发送的。 如何在不使用任何数组或任何东西的情况下获取最后一条消息。 有没有办法删除这个话

  • 假设我有一个名为“批处理”的主题,有一个分区,我向它发布了数百万条记录以供处理。我有一个由3人组成的消费者小组来处理这些数以百万计的记录。我遇到了这样一种情况:我不再需要处理满足特定标准(如

  • 我正在测试Kafka主题的工作,但我不明白删除是如何工作的。 我创建了一个简单的主题 在此之后,我创建了一个生产者,并发送了一些消息。消费者没有问题地接收到消息。但我预计,一分钟后,如果重复了消费者,它不会显示消息,因为它们肯定已经被删除了。但这种行为不会发生。 如果我用ksql创建一个查询,那也是一样的。消息总是会出现。 我想我不明白删除是怎么回事。 3)制作人留言 4)消费者 消费者会显示这四