kafka 消息保存多久

发布时间: 更新时间: 总字数:515 阅读时间:2m 作者: IP上海 分享 网址

Kafka 中的消息保存时间可以通过配置来控制,默认情况下,Kafka 会保存所有的消息,直到它们被消费或达到配置的保留期限。

Kafka 提供了多种配置来控制消息的保存时间,以下是一些常见的配置:

  1. retention.ms:这是 Kafka 的默认保留期限,表示消息将被保存多久,默认值是 7 天(604800000 ms)。
  2. retention.bytes:这是 Kafka 的另一个保留期限,表示消息将被保存的总字节数,默认值是 -1,表示无限大。
  3. log.retention.hours:这是 Kafka 的日志保留期限,表示日志将被保存多久,默认值是 168 小时(7 天)。
  4. log.retention.bytes:这是 Kafka 的日志保留字节数,表示日志将被保存的总字节数,默认值是 -1,表示无限大。

这些配置可以在 Kafka 的配置文件中设置,例如在 server.properties 文件中添加以下配置:

retention.ms=86400000 # 保存 1 天
retention.bytes=1073741824 # 保存 1GB
log.retention.hours=24 # 保存 24 小时
log.retention.bytes=536870912 # 保存 512MB

在 Kafka 中,还可以使用 Topic 级别的配置来控制消息的保存时间,例如:

kafka-topics --create --bootstrap-server <kafka-broker>:9092 --replication-factor 1 --partitions 1 --topic my-topic --config retention.ms=86400000

这将创建一个名为 my-topic 的 Topic,并将其保留期限设置为 1 天。

需要注意的是,Kafka 的消息保存时间是基于磁盘空间的,如果磁盘空间不足,Kafka 将删除旧的消息来释放空间。因此,在配置消息保存时间时,需要考虑磁盘空间的限制。

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数