分布式消息队列RocketMQ
3.2)消息的存储
RocketMQ中的消息存储在本地文件系统中,这些相关文件默认在当前用户主目录下的store目录中。
[root@VM-20-6-centos ~]# cd store/
[root@VM-20-6-centos store]# ll
total 20
-rw-r--r-- 1 root root 0 May 4 18:45 abort
-rw-r--r-- 1 root root 4096 May 5 12:29 checkpoint
drwxr-xr-x 2 root root 4096 Apr 27 22:10 commitlog
drwxr-xr-x 2 root root 4096 May 5 12:30 config
drwxr-xr-x 2 root root 4096 Apr 27 22:10 consumequeue
-rw-r--r-- 1 root root 4 May 4 18:45 lock
目录说明:
abort:该文件在Broker启动后会自动创建,正常关闭Broker,该文件会自动消失。若在没有启动 Broker的情况下,发现这个文件是存在的,则说明之前Broker的关闭是非正常关闭;
checkpoint:其中存储着commitlog、consumequeue、index文件的后刷盘时间戳 ;
commitlog:其中存放着commitlog文件,而消息是写在commitlog文件中的 ;
config:存放着Broker运行期间的一些配置数据;
consumequeue:其中存放着consumequeue文件,队列就存放在这个目录中;
index:其中存放着消息索引文件indexFile ;
lock:

RocketMQ的消息存储在本地文件系统,包括commitlog和consumequeue目录。commitlog中,消息按(mappedFile)顺序写入,consumequeue作为索引文件定位消息。通过mmap零拷贝和PageCache机制提升读写性能。与Kafka对比,RocketMQ有二级分类标签Tag和额外的consumequeue索引层。
最低0.47元/天 解锁文章
966

被折叠的 条评论
为什么被折叠?



