RocketMQ 中主要保存了 CommitLog、Consume Queue、Index File 三种数据文件。由于内存和磁盘都是有限的资源,Broker 不可能永久地保存所有数据,所以一些超过保存期限的数据会被定期删除。RocketMQ 通过设置数据过期时间来删除额外的数据文件,具体的实现逻辑是通过 D:\rocketmq-master\store\src\main\java\org\apache\rocketmq\store\DefaultMessageStore.start() 方法启动的周期性执行方法 cleanFilesPeriodically()方法,该方法的代码路径:D:\rocketmq-master\store\src\main\java\org\apache\rocketmq\store\DefaultMessageStore.java 来实现的。
RocketMQ(4.8.0)——Broker 过期文件删除机制
原文:https://www.cnblogs.com/zuoyang/p/14465764.html