消息中间件
文章平均质量分 70
雨夜归人93
这个作者很懒,什么都没留下…
展开
-
浅析RocketMQ-消息重建
rocketmq 构建comsumequeue和index消息原创 2022-09-19 17:48:37 · 359 阅读 · 1 评论 -
浅析RocketMQ-CommitLog异步刷盘
rocketmq commitlog异步刷盘原创 2022-09-18 21:49:54 · 335 阅读 · 0 评论 -
浅析RocketMQ-MappedFileQueue和MappedFile
mappedFile原创 2022-09-11 17:48:21 · 376 阅读 · 0 评论 -
浅析RocketMQ-存储文件
CommitLog,Comsumequeue,Index原创 2022-09-04 16:26:38 · 785 阅读 · 0 评论 -
浅析RocketMQ-broker接收消息
介绍broker消息接收的流程原创 2022-09-02 22:47:52 · 194 阅读 · 0 评论 -
浅析RocketMQ-发个消息
本文将解析生产者发送消息到broker的流程。DefaultMQProducer调用send发送消息,最终实现是DefaultMQProducerImpl#sendDefaultImpl。sendDefaultImpl主要有4步流程:获取主题路由信息负载选择合适的消息队列发送消息到broker如果开启容错机制,更新容错队列 private SendResult sendDefaultImpl( Message msg, final Communication原创 2022-05-27 18:06:11 · 254 阅读 · 1 评论 -
浅析RocketMQ-NameServer和他的定时任务们
NameServer启动过程中,会启动几个定时任务,本文将介绍下这些任务都做了什么操作。一.scanNotActiveBrokerscanNotActiveBroker 这个定时任务,每隔10秒执行一次,用于移除那些失效的broker。在进入scanNotActiveBroker 逻辑前,先看下broker如何注册到NameServer。明白了如何注册,对于移除就更便于理解了。1. 注册broker注册处理入口在DefaultRequestProcessor.processRequest里面p原创 2022-05-21 14:25:21 · 619 阅读 · 0 评论 -
浅析RocketMQ-NameServer处理器
之前的文章,介绍了NameServer的启动流程,本篇分析下涉及到的几个Netty的处理器。一. NettyEncoderNettyEncoder继承自MessageToByteEncoder。MessageToByteEncoder是Netty提供的基类,用于将返回的对象,转为字节流的处理器public class NettyEncoder extends MessageToByteEncoder<RemotingCommand> { public void encode(C原创 2022-05-19 21:42:09 · 224 阅读 · 0 评论 -
浅析RocketMQ-NameServer启动
本文以RocketMQ-4.9.3分析。NameServer是一个简易的注册中心,实现了Broker的动态注册与发现功能,提供Producer和Conumser查询Broker的路由信息等。本文主要对其启动流程进行分析,首先来到namesrv工程下的NamesrvStartup类,main方法里面就两个步骤生成NamesrvController对象启动NamesrvControllerpublic class NamesrvStartup { public static void mai原创 2022-05-18 21:28:32 · 385 阅读 · 0 评论 -
浅析RocketMQ-启动源码
本文中的源码拉取的4.9.3版本。1. 新建一个配置文件夹在源码包的目录下新建一个config文件,将rocketmq-distribution里面的broker.conf,logback_broker.xml,logback_namesrv.xml文件拷贝到config下面。2. 配置broker.conf文件打开config里面的broker.conf文件,追加如下配置# namesrvAddr地址namesrvAddr=127.0.0.1:9876# 自动创建topic,方便测试au原创 2022-05-18 20:12:57 · 287 阅读 · 0 评论