RocketMQ-store目录结构分析
部署rocketmq时,需要指定store存储根路径,所有的数据都存储在这个根路径下,这里介绍下这些目录和文件的作用,如下:
[root@qa-rocketmq-broker1-m store]# pwd /rocketmq/rocketmq-data/store [root@qa-rocketmq-broker1-m store]# ll 总用量 12 -rw-r--r-- 1 root root 0 10月 19 14:56 abort -rw-r--r-- 1 root root 4096 11月 11 10:14 checkpoint drwxr-xr-x 2 root root 34 9月 26 19:17 commitlogs drwxr-xr-x 2 root root 280 11月 11 10:15 config drwxr-xr-x 33 root root 4096 11月 8 18:35 consumequeue drwxr-xr-x 2 root root 31 9月 29 17:28 index -rw-r--r-- 1 root root 4 10月 19 14:56 lock
abort文件
用于判断broker是否正常关闭,在broker启动时创建,关闭时删除,如果broker异常退出,则文件会一直存在,在启动时会走其他流程进行文件修复等。
checkpoint文件
文件检测点,存储commitlog文件、consumequeue、index索引文件最后一次刷盘时间戳。
commitlog目录
存放消息实体,所有topic的消息都会通过追加的方式往commitlog文件中写入,单文件大小默认为1G,文件名为起始偏移量,长度为20位,左边补零。
consumequeue目录
存放消息消费队列,只有写入到这里的数据,才能够被消费者消费,每个topic都会在此目录下创建一个同名目录,每个队列会建立对应的索引文件,用于加快消息的检索和节省磁盘空间,里面存放了消息的关键信息,如commitog文件中的偏移量、消息长度、tag的hashcode值等。
index文件目录
存放消息索引文件,只有写入到这里的数据,才能够通过key或者msgId等进行查询。
config目录
存放topic和订阅组的配置信息,以及消费进度等。
lock文件
锁文件,在consumer进行rebalance的时候。

浙公网安备 33010602011771号