首页 > TAG信息列表 > MappedFile

RocketMQ消息存储(三) - MappedFileQueue

RocketMQ消息存储(三) - MappedFileQueue 上一篇 讲解了 MappedFile 类, 其底层实际上是通过 MappedByteBuffer采用零拷贝的方式 来管理 文件的读写 。 既然 MappedFile 是管理单个文件的类, 那么就会存在用来管理 这些 MappedFile的类:MappedFileQueue。 我们可以把他们之间的关系

全站最硬核 百万字强肝RocketMq源码 火热更新中~(九十五)延时队列

同时,还会将消息原来要发送到的目标Topic和队列信息存储到消息的属性中。相关源码如下所示: org.apache.rocketmq.store.CommitLog#asyncPutMessage public CompletableFuture<PutMessageResult> asyncPutMessage(final MessageExtBrokerInner msg) { // Set the storage t

设计背景 消息中间件的本身定义来考虑,应该尽量减少对于外部第三方中间件的依赖。一般来说依赖的外部系统越多,也会使得本身的设计越复杂,采用文件系统作为消息存储的方式。 RocketMQ存储机制 消息中间件的存储一般都是利用磁盘,一般是使用机械硬盘,但机械硬盘的速度比访问内存慢了n个

RocketMQ-broker存储机制-ConsumeQueue

   前面讲解到对于consumequeue的文件恢复和过期文件删除,和flush的过程这边就不再重点阐述,实际上consumequeue中的存储单元是一个20个字节的数据,前8个字节存储消息在commitlog上的物理点位,接着是4字节的消息size,最后是8字节的tag的hash值。可以看做消息在consumequeue上存储的是

rocketMq-消息存储-commitLog

简述     本文章针对rocketMq 开源版本4.8.0进行分析;rocketMq 流程简述如下: nameserv:看作注册中心,broker 启动要注册到nameserv中,同时要定时向nameserv发送心跳来告诉nameserv它还活着,然后nameserv除了维护broker信息,还要维护topic的信息,比如一个topic 消息发送到哪几个br

RocketMQ存储之MappedFileQueue

文章目录 一、概述二、实现细节总结 一、概述 上一篇我们分析了MappedFile的实现细节,MappedFile实现了文件内存映射的功能。本篇我们分析MappedFileQueue的实现。 MappedFileQueue的作用是:将多个MappedFile按顺序组织起来,并且提供MappedFile的“增删查”操作等作用。由于

请问你知道分布式系统的预写日志设计模式么?

原文地址:https://martinfowler.com/articles/patterns-of-distributed-systems/wal.html Write-Ahead log 预写日志 预写日志(WAL,Write-Ahead Log)将每次状态更新抽象为一个命令并追加写入一个日志中,这个日志只追加写入,也就是顺序写入,所以 IO 会很快。相比于更新存储的数据结构并

RocketMQ 源码分析 —— Message 拉取与消费(上)

摘要: 原创出处 http://www.iocoder.cn/RocketMQ/message-pull-and-consume-first/ 「芋道源码」欢迎转载,保留摘要,谢谢!1、概述2、ConsumeQueue 结构3、ConsumeQueue 存储4、Broker 提供[拉取消息]接口5、Broker 提供[更新消费进度]接口6、Broker 提供[发回消息]接口7、结尾阅读源码

RocketMQ 源码分析 —— Message 存储

摘要: 原创出处 http://www.iocoder.cn/RocketMQ/message-store/ 「芋道源码」欢迎转载,保留摘要,谢谢!1、概述2、CommitLog 结构3、CommitLog 存储消息CommitLog#putMessage(...)MappedFileQueue#getLastMappedFile(...)MappedFile#appendMessage(...)DefaultAppendMessageCallback#d

源码分析 RocketMQ DLedger(多副本) 之日志追加流程

上一篇我们详细分析了 源码分析RocketMQ多副本之Leader选主,本文将详细分析日志复制的实现。 有了前篇 源码分析 RocketMQ DLedger 多副本存储实现,本文将直接从 Leader 处理客户端请求入口开始,其入口为:DLedgerServer 的 handleAppend 方法开始讲起。 1、日志复制基本流程 在正式分

RocketMQ源码解析之broker文件清理

原创不易,转载请注明出处 文章目录 1. broker 清理文件介绍1.1 哪些文件需要清理1.2 RocketMQ文件清理的机制 2.源码解析2.1 清理commitlog2.2 ConsumeQueue 与indexFile 清理 总结 1. broker 清理文件介绍 1.1 哪些文件需要清理 首先我们需要介绍下在RocketMQ中哪些