是否可以将 Kafka 配置为不删除未读消息?
Is it possible to configure Kafka to not delete unread messages?
我完全知道 Kafka 是一个日志,充当哑管道。但是在我们的应用程序中,我们有一些 "compliance topics",我们需要确保读取其中的所有消息。
由于 Kafka 在内部处理所有消费者的偏移量(因此可以监控消费者滞后),我想知道是否可以设置 log.retention=25GB
,但不要覆盖未读取的消息任何人,而不是抛出生产者异常(就好像我们设置 log.retention=1week
并且 HDD 已满)。
如果无法在 Kafka 级别配置此功能,是否有任何实用的方法可以在 kafka-producer 或 kafka-streams 上实现此逻辑,因此在 "full unread log" 的情况下会失败?
您无法将 Kafka 配置为保留未读消息。但是,您可以增加保留 time/space 并使用新的 "purge data" API.
手动删除数据
我完全知道 Kafka 是一个日志,充当哑管道。但是在我们的应用程序中,我们有一些 "compliance topics",我们需要确保读取其中的所有消息。
由于 Kafka 在内部处理所有消费者的偏移量(因此可以监控消费者滞后),我想知道是否可以设置 log.retention=25GB
,但不要覆盖未读取的消息任何人,而不是抛出生产者异常(就好像我们设置 log.retention=1week
并且 HDD 已满)。
如果无法在 Kafka 级别配置此功能,是否有任何实用的方法可以在 kafka-producer 或 kafka-streams 上实现此逻辑,因此在 "full unread log" 的情况下会失败?
您无法将 Kafka 配置为保留未读消息。但是,您可以增加保留 time/space 并使用新的 "purge data" API.
手动删除数据