每日一博 | 一文详解 RocketMQ 的存储模型
摘要:RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型。 本文分享自华为云社区《终于弄明白了 RocketMQ 的存储模型》,作者:勇哥java实战分享。 RocketMQ 优异的性能表现,必然绕不开其优秀的存储模型 。 1 整体概览 首先温习下 RocketMQ 架构。 整体架构中包含四种角色 : Producer :消息发布的角色,Producer 通过 MQ 的负载均衡模块选择相应的 Broker 集群队列进行消息投递,投递的过程支持快速失败并且低延迟。 Consumer :消息消费的角色,支持以 push 推,pull 拉两种模式对消息进行消费。 NameServer :名字服务是一个非常简单的 Topic 路由注册中心,其角色类似 Dubbo 中的 zookeeper ,支持 Broker 的动态注册与发现。 BrokerServer :Broker 主要负责消息的存储、投递和查询以及服务高可用保证 。 本文的重点在于分析 BrokerServer 的消息存储模型。我们先进入 broker 的文件存储目录 。 消息存储和下面三个文件关系非常紧密: 1.数据文件 c...


