我有一个Kafka主题,它有多个消费者群体。如果所有消费者群体都没有读取持久性持续时间到期,我需要关于该主题的消息不被删除。
是否可以在持续时间之外设置其他持久性规则?如果他们从未被消费过,我需要留言以保持主题
如果消息没有被消耗并且持续时间到期,是否可以“刷新”消息的超时?
答案 0 :(得分:0)
这在卡夫卡是不可能的。与许多传统的消息代理商不同,Kafka不会跟踪哪些消息已被消费或未被消费。这是消费者的责任。并且因为代理不跟踪这个,它不能基于此进行主题清理。
在某些情况下,您可以使用compacted topics来保留每个密钥的最后一条消息。多亏了,即使是最近连接的消费者也可以恢复状态。但这仅适用于特定数据类型,例如状态更改等。