栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

RocketMQ-消息清理

RocketMQ-消息清理

介绍

消息被消费过后会被清理掉吗?这个RocketMQ是不会的。

消息是被顺序存储在commitlog文件中的,且消息大小不定长,所以消息的清理是不可能以消息为单位进行清理的,而是以commitlog文件为单位进行清理的,否则会急剧下降清理效率,并实现逻辑复杂,commotlog文件存在一个过期时间,默认为72小时,即三天,除了用户手动清理外,在一下情况下也会自动清理,无论文件中的消息是否被消费过

  • 文件过期,且达到清理时间点(默认为凌晨4点)后自动清理过期文件
  • 文件过期,且磁盘空间占用率达到清理接线(默认75%)后,无论是否是达到清理时间点,都会自动清理过期文件
  • 磁盘占用率达到清理界限(默认85%)后,开始按照设定好的规则清理文件,无论是否过期,默认会从最老的文件开始清理
  • 磁盘占用率达到系统危险警戒线(默认90%)后,Broker拒绝消息写入
测试消费过的消息不会清除

使用Topic为test-topic,设置生产者往RocketMQ中以test-topic作为Topic发送10条测试消息,消费者监听Topic为test-topic且Consumer Group为test-consumer-a,那么消费者为test-consumer-a的会消费掉10条消息,那么此时我们可以在启动一个消费者,这时我们这个新的消费者的Consumer Group不再是test-consumer-a,而是test-consumer-new,那么这个test-consumer-new启动后也会拿到这10条消息。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号