RocketMq源码
文章平均质量分 90
这个作者很懒,什么都没留下…
geekolaf
他强任他强,老子尼克杨
展开
-
Rocketmq源码解析-文件存储模块设计
目录1.消息存储2.文件体系介绍2.1 消息存储整体架构CommitLogConsumeQueueIndexFile2.2 页缓存与内存映射1.消息存储消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构、PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三方面来分别展开叙述。2.文件体系介绍2.1 消息存储整体架构消息存储架构图中主要有下面三个跟消息存储相关的文件构成。如图所示:CommitLog消息主体以及元数原创 2022-04-29 14:37:44 · 200 阅读 · 0 评论 -
Rocketmq源码解析-Broker部分之消息接收
目录问题点broker接收流程图消息接收1.启动入口`NettyRemotingServer.start()`创建NettyServer通信通道问题点1.Producer发送消息之后Broker是如何接收的?2.Broker接收消息之后是如何存储的?broker接收流程图消息接收我们在之前的RocketMQ源码解析-Broker部分之Broker启动过程文章中分析过,broker的启动会调用BrokerStartup.start(),另外rocketmq是采用netty进行底层通信,所以bro原创 2022-02-11 14:31:07 · 2514 阅读 · 1 评论 -
Rocketmq源码解析-客户端实例MQClientInstance
目录`MQClientInstance`介绍`MQClientInstance`的内部变量Producer创建入口`producer.start()1.MQClientManager.getInstance().getOrCreateMQClientInstance2.`mQClientFactory.start()`MQClientInstance介绍为什么把MQClientInstance单独拿出来说呢?是因为无论是生产者还是消息者底层都会与broker进行打交道,从源码层面上,这部分的功能被抽象成原创 2022-02-08 17:05:43 · 808 阅读 · 1 评论 -
RocketMQ源码解析-Namesrv启动过程
NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Producer,Consumer仍然可以动态感知Broker的路由的信息。原创 2022-02-04 20:59:41 · 3272 阅读 · 0 评论 -
RocketMQ源码解析-Broker部分之Broker启动过程
启动入口BrokerStartup原创 2022-02-03 22:32:56 · 3850 阅读 · 2 评论 -
Rocketmq源码解析-Producer部分之消息重试和延迟容错逻辑(2)
生产者消息重试生产者在发送消息的时候,3种通信模式默认都不进行重试(同步、异步、oneway)。消息重试原则上是可以保证消息发送成功并且不丢失,但是消息重试可能会造成消息重复消费问题,所以Rocketmq是不保证消息幂等性的,所以开发者需自行保证幂等性。Rocketmq开启消息重试配置: // 消息发送失败重试次数,默认2次 producer.setRetryTimesWhenSendFailed(2); // 消息重试配置,消息没有存储成功是否发送到另外一个broker原创 2022-02-02 14:50:47 · 344 阅读 · 0 评论 -
Rocketmq源码解析-Producer消息发送过程(1)
记录rocketmq学习成果并分享给小伙伴们。原创 2022-02-01 16:38:26 · 1850 阅读 · 0 评论 -
RocketMQ-Docker中RocketMQ的安装与Springboot整合
最近学习使用 rocketmq,需要搭建 rocketmq 服务端,本文主要记录 rocketmq 搭建过程以及Springboot整合过程踩到的一些坑。1.准备工作在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker搭建服务,所以需要提前安装docker。此外,由于 rocketmq 需要部署 broker 与 nameserver ,考虑到分开部署比较麻烦,这里将会使用 docker-compose。docker教程:https://www.runoob.com/docker/do原创 2022-01-30 21:07:35 · 1472 阅读 · 1 评论