![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RocketMQ
文章平均质量分 86
不能放弃治疗
公众号:不能放弃治疗, 微信 bws_csp 欢迎交流
展开
-
RocketMQ之 CommitLog 加载流程
commitlog 加载当我们把 broker 重启后,RocketMQ 是如何重新将磁盘的 commitlog 文件重新加载到磁盘中的呢?带着这个疑问,我们来看一下 commitlog 的加载流程commitlog 的加载流程大致如下:我们在这里主要关心 第1,2 个流程。第 3 个流程,在讲解完 ConsumeQueue, IndexFile 会重点说明。稍微带下第3个流程,第 3 个流程逻辑为,将 commitlog 存入到 consumeQueue。 这里的 commitlog 是未被转发原创 2021-06-27 20:39:45 · 399 阅读 · 0 评论 -
RocketMQ之 CommitLog
1 消息存储概述RocketMQ 的存储文件,放在 ${ROCKET_HOME}/store 目录下。当生产者发送消息时,broker 会将消息存储到 commit 文件下,然后再异步的转存到 consumeQueue 以及 indexFile。commitlog消息主体以及元数据的存储主体。Producer 发送的消息就存放在 commitlog 里面.consumeQueue消息消费队列,引入的目的主要是提高消息消费的性能,由于 RocketMQ 是基于主题 topic 的订阅模式,消息消费原创 2021-06-27 20:37:58 · 6383 阅读 · 0 评论 -
RocketMQ之 Producer
producer 发送流程producer 在消息发送时,肯定要先知道 topic 的信息,以及 topic 在哪个 broker 上,那么 producer 是如何做的呢?还记得在 01 开篇说的吗? namesrv 提供一个通过 topic 获取路由信息的接口(RouteInfoManager#pickupTopicRouteData). producer 就是根据该接口返回的 TopicRouteData, 知道要将 topic 发送至哪个 broker.TopicRouteDatapriva原创 2021-06-27 20:31:37 · 671 阅读 · 0 评论 -
RocketMQ之 namesrv
整体架构从架构设计图来看,namesrv 充当的角色为注册中心,broker 向 namesrv 注册。producer、consumer 分别与 namesrv 保持长连接, 并从 namesrv 中拉取 broker 信息,然后再与namesrv 之间是不互相通信的,他们各自持有 broker 的注册信息。在分布式领域中,正常集群部署,都会有主从、或者有 leader 节点。但是对于 namesrv,它每个节点都是独立的,每个 namesrv 节点都是互不通信。rocketMQ 在注册中心这一原创 2021-06-27 20:30:11 · 1759 阅读 · 0 评论