欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

rocketmq 消息机制

程序员文章站 2022-03-25 11:33:42
...
Broker会定期删除过期的数据,例如Broker只保存3天的消息,那么这个Buffer虽然长度无限,但是3天前的数据会被从队尾删除。
设置 Broker的Buffer 长度
RocketMQ没有内存Buffer概念,RocketMQ的队列都是持久化磁盘,数据定期清除

存储的消息最多保存 3 天,超过 3 天未消费的消息会被删除。建议配置监控报警实时监控消费进度,并根据报警信息人工介入处理。
设置持久化

RocketMQ的消息存储是由consume queue和commit log配合完成的。

刷盘时间:
消息只是被写入内存 pagecache,写操作返回快,吞吐量达,当内存里的消息积累到一定程度时,统一出发写磁盘动作,快速写入。

默认每天凌晨4点,由broker配置参数deleteWhen决定;或者磁盘空间达到阈值

fileReservedTime 文件保留时长 48小时
ldeleteWhen = “04”, 何时触发删除文件,默认凌晨4点删除文件
坏了如何恢复?重启mq

lflushIntervalConsumeQueue= 1000,消费队列刷盘间隔,默认为1秒
lflushIntervalCommitLog = 1000,commit log刷盘间隔,默认1秒