随笔分类 -  RocketMQ 4.8.0 源码分析

摘要:RocketMQ 消费者(三) - Consumer端拉消息 (图解) 1. 拉消息服务 与负载均衡服务一样, 消费者端拉消息的入口在 客户端实例中,为 PullMessageService 。 内部有几个关键点: 其内部维护了一个 阻塞任务队列 private final LinkedBlocki 阅读全文
posted @ 2022-03-12 13:45 s686编程传 阅读(166) 评论(0) 推荐(0) 编辑
摘要:#RocketMQ 消费者(二) - 负载均衡 (图解) 1. 负载均衡入口 如图, 负载均衡服务 实际上是运行在 客户端实例中, 是一个周期性执行的服务,正常情况下 每20s执行一次。 负载均衡方法 最终会 来到 每个消费者内部的 负载均衡实例对象中, 然后根据消费者本地的 订阅集合, 来进行负载 阅读全文
posted @ 2022-03-11 15:47 s686编程传 阅读(485) 评论(0) 推荐(0) 编辑
摘要:RocketMQ 消息者(一) Consumer端架构 (图解) 1.配置项 Consumer 采用门面模式, 其门面类为 DefaultMQPushConsumer , 核心业务类为:DefaultMQPushConsumerImpl。 其中 DefaultMQPushConsumer 门面类中包 阅读全文
posted @ 2022-03-11 13:30 s686编程传 阅读(787) 评论(0) 推荐(0) 编辑
摘要:RocketMQ消息存储(三) - MappedFileQueue 上一篇 讲解了 MappedFile 类, 其底层实际上是通过 MappedByteBuffer采用零拷贝的方式 来管理 文件的读写 。 既然 MappedFile 是管理单个文件的类, 那么就会存在用来管理 这些 MappedFi 阅读全文
posted @ 2022-03-09 16:55 s686编程传 阅读(177) 评论(0) 推荐(0) 编辑
摘要:RocketMQ消息存储(四) - CommitLog 之前几篇文章都对RocketMQ消息存储的底层基本类做详解。 从本篇开始,就来到了消息存储的上层层面的存储文件对象了。 我们知道RocketMQ 主要的消息存储文件有三种: 1. commitlog文件 2. consumeQueue文件 3. 阅读全文
posted @ 2022-03-09 16:53 s686编程传 阅读(1008) 评论(0) 推荐(1) 编辑
摘要:RocketMQ消息存储(一) - mmap零拷贝(前置篇) 从本篇开始研究Broker 对文件的存储, 这些文件分为三类 (CommitLog , ConsumeQueue , IndexFile) 。 而在分析文件存储的源码之前, 我们要先了解一个重要的前置知识: 零拷贝IO 技术. 下面是针对 阅读全文
posted @ 2022-03-09 16:39 s686编程传 阅读(514) 评论(0) 推荐(0) 编辑
摘要:RocketMQ消息存储(二) - MappedFile MappedFile 类是RocketMQ消息存储模块中最底层的类, 它是对 MappedByteBuffer(mmap) 的进一步封装,能够更方便的去操作和使用 mmap零拷贝(不理解的请移步上一篇**《RocketMQ消息存储(一) - 阅读全文
posted @ 2022-03-02 16:43 s686编程传 阅读(469) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(六) - 服务端请求与响应的处理 源码分析 上一篇 **《RocketMQ(五) - RemotingServer服务端 请求方法 源码分析》**讲述了 RocketMQ 中 Netty服务端作为 请求发送方 的 三个 调用方法。 本篇主要分析 服务端 对 客户端发来的 请求 与 阅读全文
posted @ 2022-02-22 23:33 s686编程传 阅读(282) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-02-22 23:32 s686编程传 阅读(0) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(五) - RemotingServer服务端 请求调用方法 源码分析 上一篇 《RocketMQ(三) - RemotingServer服务端启动 》 中 分析了 NettyRemotingServer 的启动源码,同时 也对其 继承接口 RemotingServer方法做了简单的 阅读全文
posted @ 2022-02-22 23:32 s686编程传 阅读(329) 评论(1) 推荐(0) 编辑
摘要:RocketMQ(三) - RemotingServer服务端启动 源码分析 接着 《 RocketMQ(一) - NameServer 启动源码分析 》 文章最后留下的 RemotingServer网络层服务端启动 来进行分析。 继承体系 为了 更好的从 宏观上 分析RocketMQ 的 网络层对 阅读全文
posted @ 2022-02-22 17:46 s686编程传 阅读(257) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(二) - NameServer路由元信息分析 上一篇详细分析了 NameServer的启动流程 (不包括底层服务端的启动, 仅限于 NamesrvController层面的启动)。 这一篇 主要 针对NameServer在RocketMQ中的角色原理做介绍。 我们知道 Rocekt 阅读全文
posted @ 2022-02-21 01:18 s686编程传 阅读(320) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(一) - NameServer 启动源码分析 NameServer 的定义以及用处,本篇文章就不做介绍了,此文章主要分析其源码。 1. 入口 NamesrvStartup 是的NameServer服务的启动类。 其入口是 main0( ) 方法。 public static Nam 阅读全文
posted @ 2022-02-19 02:48 s686编程传 阅读(107) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示