1、前言

  • 对于传统的message queue而言,一般会删除已经被消费的消息,而Kafka集群会保留所有的消息,无论其被消费与否。当然,因为磁盘限制,不可能永久保留所有数据(实际上也没必要)。

2、删除策略

  • 两种策略删除旧数据。一是基于时间,二是基于Partition文件大小。

  • 例如可以通过配置$KAFKA_HOME/config/server.properties,让Kafka删除一周前的数据,也可在Partition文件超过1GB时删除旧数据。比如如下默认删除策略:

消息删除策略.png