rocketmq源码-consumerQueue和indexFile文件写入

本文深入探讨RocketMQ的consumerQueue和indexFile文件,详细解释了数据如何被写入。在consumerQueue中,记录了消息在commitLog的offset、大小和tagCode。indexFile用于快速查找消息,虽然具体细节未详述,但涉及关键操作如getData、dispatch以及文件写入流程。文章还涵盖了消息处理、dispatchRequest构建、消息分发及offset更新过程。
摘要由CSDN通过智能技术生成

前言

在rocketmq的文件中,除了commitLog文件,还有两个重要的文件,分别是indexFile文件和consumerQueue文件,这篇笔记主要记录这两个文件的数据是怎么写进去的
consumeQueue文件中对应topic下的一个queue,在consumeQueue文件中,存放了三部分数据:分别是当前消息在commitLog中的offset、以及消息的大小、tagCode信息
在这里插入图片描述

indexFile文件暂时没有看懂细节,只是从官网和网上的博客来看,在根据key进行快速查找msg信息时,会用到indexFile文件,关于indexFile文件的细节,暂时先空着,后面学习了之后,再补充

入口

在前面broker启动的那篇博客中,有讲到过,在启动过程中,有一个service,是用来同步这两个文件的,我们从这里开始看起

/**
 * setReputFromOffset:是设置当前要从哪里开始同步消息信息到indexFile和consumerQueue文件
 * 启动reputMessageService,更新consumerQueue文件
 * 这里启动的异步线程,是为了监听commitLog文件,然后根据文件中写入的数据,更新consumerQueue和indexFiLe
 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值