rocketmq消息文件(commitlog)删除策略分析

rocketmq消息文件(commitlog)删除策略分析,第1张

1.测试服务器偶尔出现磁盘空间不足预警。检查后发现是rocketmq消息堆积造成。

于是研究一下rocketmq消息文件删除的策略,避免再次堆积。

2.构造场景,测试源码。

参考 https://www.jianshu.com/p/3cdd58a4bba5

3.发现

对于过期文件

1)通过设置删除过期文件的时间,会在这个小时内去删除文件,每次删除10个。

相关配置参数:

2)通过设置磁盘存储空间,达到了阈值就会删除过期的文件。

相关配置参数:

对于没有过期的文件

1)磁盘存储空间达到强制清理阈值,(通过启动命令设置)

2)磁盘存储空间达到预警线,(通过启动命令设置)

3.结论

对于过期的文件,不会存在堆积的问题。出现此种情况一般是短时间大流量产生的。

为了避免生产环境流量暴增引起的短时间消息堆积。

建议业务系统加强消费能力,不要让消息堆积,消息文件不被占用就可以更安全的被删除。

fileReservedTime设置合理的时间,保持可用磁盘空间在一定程度,可以挡住短时间的流量冲击。

发生堆积时优先删除同一个磁盘空间的其它无用日志

找到消息量大的topic,动态扩容broker,update这些topic的broker

rocketmq_client.log.1可以删除。使用rocketmq后,默认会在{user.home}\logs\rocketmqlogs目录下生成大量的mq跟踪日志,可以通过以下方式禁用或改变存储目录。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/8139635.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存