首页
学习
活动
专区
工具
TVP
发布

RocketMQ分析——高并发读写

Broker 服务端的高并发读写主要利用Linux操作系统的PageCache特性,通过顺序写盘(Commit Log),跳跃读 来尽量命中PageCahe,从而大大减少磁盘IO。...4,文件地址:user.home/store/{user.home}/store/user.home/store/{commitlog}/${fileName} ConsumerQueue 1,ConsumerQueue...consumequeue/{user.home}/store/consumequeue/user.home/store/consumequeue/{topicName}/queueId/{queueId...消息跳跃读 MQ读取消息依赖系统PageCache,PageCache命中率越高,读性能越高,Linux平时也会尽量预读数据,使得应用直接访问磁盘的概率降低。...当内存不够时,还是要清理没用的数据,将清理的空间用以缓存新的内容,这整个过程,Linux用一个双向链表来管理,如下图: ?

2.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

分布式消息中间件RocketMQ学习教程①

附录:安装教程 http://www.linuxidc.com/Linux/2016-09/134941.htm 【JDK安装】 因为RocketMQ是基于Java开发的,所以安装RocketMQ之前,...我们需要先安装JDK,因为服务器一般采用Linux,所以本博客只介绍基于Linux系统的教程 1.在/usr/目录下创建java目录 mkdir /usr/java 进入java目录 cd /usr/...java 2.下载jdk到/usr/java目录,然后tar解压(可以使用xftp在本地下载jdk,或者使用命令curl -O url下载) tar -zxvf jdk-8u102-linux-x64....MaxPermSize=320m” 创建数据目录 mkdir -p /data/rocketmq/store/commitlog mkdir /data/logs cd conf/ sed -i ‘s#{user.home...}#/data#g’ *.xml         //将conf目录下所有xml文件中的{user.home}#/data#g’ *.xml       //将conf目录下所有xml文件中的{user.home

2.5K20

rocketmq原理与实战解析_rocketmq底层原理

加载topic配置${user.home}/store/config/topics.json { "dataVersion":{ "counter":2, "timestatmp":1393729865073...加载消费进度偏移量 ${user.home}/store/config/consumerOffset.json { "offsetTable":{ "%RETRY% group_name@group_name...加载消费者订阅关系 ${user.home}/store/config/subscriptionGroup.json { "dataVersion":{ "counter":1, "timestatmp...topic就是一个文件夹) 遍历${user.home} \store\consumequeue\${topic}下的所有文件夹(每个queueId 就是一个文件夹) 遍历${user.home} \store...recover尝试数据恢复 判断是否是正常恢复,系统启动的启动存储服务(DefaultMessageStore)的时候会创建一个临时文件abort, 当系统正常关闭的时候会把这个文件删掉,这个类似在Linux

53931
领券