RocketMQ源码分析
文章平均质量分 92
分析RocketMQ的源码
飞剑客_
这个作者很懒,什么都没留下…
展开
-
RocketMQ存储之DefaultMessageStore(二)
一、概述上篇分析了DefaultMessageStore的大体功能和DefaultMessageStore生命周期的关键方法。本篇我们分析一下DefaultMessageStore提供的功能的具体实现。这里再把上篇的DefaultMessageStore功能清单贴出来:我们本篇主要分析数据的写入和读取过程。...原创 2021-08-27 16:33:08 · 306 阅读 · 0 评论 -
RocketMQ存储之DefaultMessageStore(一)
一、功能概述DefaultMessageStore是RocketMQ底层存储对外层提供服务的窗口,它通过组织CommitLog、ConsumeQueue、IndexFile来完成RocketMQ存储的功能。本篇分析DefaultMessageStore源码的实现。二、源码分析首先,我们看一下DefaultMessage提供的功能窗口,DefaultMessageStore实现了MessageStore接口,我们看看MessageStore提供了哪些方法:...原创 2021-08-26 17:03:47 · 632 阅读 · 2 评论 -
RocketMQ存储之IndexFile
一、功能概述IndexFile提供了可以通过key或时间区间来查询消息的功能。IndexFile的功能很简单,但是文件的结构要比CommitLog和ConsumeQueue要复杂些。本篇我们分析IndexFile的实现细节。二、源码分析原创 2021-08-09 15:26:14 · 531 阅读 · 0 评论 -
RocketMQ存储之ConsumeQueue
一、功能概述ConsumeQueue作为RocketMQ存储实现的重要部分,它提供了每个Topic下每个Queue中消息存储的索引功能。也就是说,每个Topic下的每个Queue都会有一个ConsumeQueue保存该Queue下消息存储在CommitLog的位置。ConsumeQueue和CommitLog一样,都是基于MappedFileQueue实现的。所以ConsumeQueue和CommitLog的实现有很多相似的地方。本篇我们只会分析ConsumeQueue的一些比较核心的功能实现,其他内容原创 2021-08-03 14:43:16 · 925 阅读 · 0 评论 -
RocketMQ存储之CommitLog
一、CommitLog功能概述原创 2021-07-30 11:12:04 · 1875 阅读 · 0 评论 -
RocketMQ存储之MappedFileQueue
文章目录一、概述二、实现细节一、概述上一篇我们分析了MappedFile的实现细节,MappedFile实现了文件内存映射的功能。本篇我们分析MappedFileQueue的实现。MappedFileQueue的作用是:将多个MappedFile按顺序组织起来,并且提供MappedFile的“增删查”操作等作用。由于MappedFileQueue的实现逻辑并不复杂,本篇只分析一部分源码实现。二、实现细节首先来看一下MappedFileQueue的创建和加载: public MappedFi原创 2021-06-07 21:19:48 · 442 阅读 · 1 评论 -
RocketMQ存储之MappedFile
一、概述RocketMQ的存储依赖于三类文件:CommitLog、ConsumeQueue、IndexFile,每类文件的具体作用可以参考官方文档,这里我们只做源码分析。三类存储文件都依赖MappedFile 来实现文件底层的数据读写。从类名可以看出:MappedFile 是通过内存映射文件来实现文件操作的,本篇我们分析MappedFile 的实现细节。二、实现细节我们先来看一下MappedFile 的变量: /** * 操作系统文件页大小 */ public st原创 2021-05-20 23:11:43 · 810 阅读 · 0 评论 -
RocketMQ网络通信
目录简介服务端实现简介RocketMQ的remoting模块是RocketMQ客户端、消费端、NameServer、Broker之间通信的基础。是通过netty框架实现的。核心类的继承结构如下:RemotingService接口定义了start()、shutdown()、registerRPCHook()方法。registerRPCHook()方法可以为服务注册钩子方法。RemotingServer提供了服务端的基本功能:注册请求处理器、消息发送(同步、异步、Oneway)。RemotingCl原创 2021-04-27 08:05:02 · 496 阅读 · 0 评论