Kafka会一直保存消息,直到被所有组使用为止

b1zrtrql  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(283)

我有一个Kafka主题,有多个消费群体。如果没有被所有使用者组读取,我需要在持久性持续时间到期时不要删除主题上的消息。
是否可以在持续时间之外设置其他持久性规则?我需要的信息总是停留在一个主题,如果他们从来没有被消费。
如果消息未被使用并且持续时间已过期,是否可以“刷新”消息的超时?

z9zf31ra

z9zf31ra1#

这在Kafka是不可能的。Kafka-不像许多更传统的消息代理-不跟踪哪些消息已经或没有被消费。这是消费者的责任。因为代理没有跟踪这个,所以它不能基于这个进行主题清理。
在某些情况下,您可以使用压缩主题来保留每个键的最后一条消息。多亏了这一点,即使是连接晚的消费者也可以恢复状态。但这只适用于特定的数据类型,如状态更改等。

相关问题