RocketMQ存储篇——Config文件以及执行延迟消息的线程服务

RocketMQ的$HOMEstoreconfig目录包含consumerOffset、delayOffset等config文件,用于存储消费者进度和延迟消息信息。ScheduleMessageService负责延迟消息的执行,通过定时任务遍历不同延迟级别队列,判断并执行已到达延迟时间的消息。创建topic配置信息在发送消息时进行,根据GroupName查找订阅组信息,消费失败时也会创建相应配置。
摘要由CSDN通过智能技术生成

在$HOME\store\config目录下面存储各类config文件,包括:consumerOffset.json、delayOffset.json、subscriptionGroup.json、topics.json四类config文件。
topics.json文件由TopicConfigManager类解析并存储;存储每个topic的读写队列数、权限、是否顺序等信息。
consumerOffset.json文件由ConsumerOffsetManager类解析并存储;存储每个消费者Consumer在每个topic上对于该topic的consumequeue队列的消费进度;
delayOffset.json文件由ScheduleMessageService类解析并存储;存储对于延迟主题SCHEDULE_TOPIC_XXXX的每个consumequeue队列的消费进度;
subscriptionGroup.json文件由SubscriptionGroupManager类解析并存储;存储每个消费者Consumer的订阅信息。
各类图机构如下:
这里写图片描述

1 ScheduleMessageService执行延迟消息

该类除了解析并存储delayOffset.json文件之外,还有一个重要的任务,就是定时执行延迟消息的任务。

在load方法中,将这些级别

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值