分布式消息服务ROCKETMQ版-查看RocketMQ消息:消息清理机制

时间:2024-12-18 15:22:51

消息清理机制

无论消息是否被消费,RocketMQ的消息默认保留时间为48小时,最长保留时间为720小时,修改保留时间的操作请参见修改RocketMQ消息保留时间。RocketMQ消息存储在CommitLog文件中,CommitLog文件大小为1GB,当一个CommitLog文件写满后,会生成一个新的CommitLog文件。RocketMQ删除消息是删除CommitLog文件,而不是删除一条消息。CommitLog文件为顺序写入,当最后写入的一条消息过期时,表示CommitLog文件过期。满足如下任意一个条件,CommitLog文件将会被清理:

  • 每天凌晨4点会清理过期的文件,部分老实例由于未设置时区,清理时间为每天中午12点。
  • 当磁盘使用率达到70%(针对4.8.0版本)或75%(针对5.x版本)时,会立刻清理过期的文件。
  • 当磁盘使用率达到85%时,会从最早创建的文件开始清理,不管文件是否已过期,直到磁盘空间充足。
support.huaweicloud.com/usermanual-hrm/hrm-ug-027.html