保留期为零在kafka borker有意义吗?
我们希望通过kafka经纪人快速将消息从生产者转发给消费者。来自代理机器上的buffercache / pagecache没有……
当为Kafka主题生成消息时,它将写入磁盘。一旦消息被消费,消息者将提交此消息的偏移量(如果您使用的是高级消费者API),但是,没有功能只删除已消耗的消息(许多消费者可能订阅相同的主题,其中一些可能消耗了该消息,而其他一些可能没有)。
在您的情况下,我建议设置一个较短的保留期(默认设置为7天),但允许您的消费者使用消息的合理时间。为此,您只需在中配置以下参数 server.properties :
server.properties
log.retention.ms=X
请注意,不保证您的消费者已成功使用已删除的消息。例如,如果将保留期设置为2秒(即 log.retention.ms=2000 )并且您的消费者崩溃,然后在消费者关闭时发送到主题的每条消息都将丢失。
log.retention.ms=2000