首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
rocketmq
订阅
dwyane12
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
RocketMQ源码解读——消费者的Rebalance过程
关于消费者的Rebalance过程,入口在RebalanceService,这是个线程,默认每隔20s做一次rebalance。 我们追进来,看一下RebalanceImpl的doRebalance方法: 这里可以看到,对所有Consumer端维护的Topic都进行rebala…
RocketMQ源码解读——Consumer从文件中拉取消息
消费者拉取消息,使用的是PullMessageProcessor,看一下processRequest方法,一开始初始化response的相关数据,然后是校验,我们具体看一下: 第一和第三步校验的内容比较简单,我们主要看第二步,即校验consumer配置的部分: 这里有个小细节,…
RocketMQ源码解读——Broker消息写入
继续上一篇我们说了broker的消息存储过程,这一篇我们看一下消息在broker上以何种形式存储。 消息的存储最终通过CommitLog这个类来做,CommitLog,MappedFileQueue和MappedFile这三个类抽象了存储过程中的相关概念,对应关系如下:Comm…
RocketMQ源码解读——消息消费之消费者启动
我们下面两篇文章看消费者。消息队列主要就是生产和消费两端,但是其实rocketmq还有很重要的两个部分是broker和nameserver,broker中有真正的消息,nameserver是一个类似注册中心的角色。broker中存储的消息结构复杂,我们后面再看,先看拉取。 消费…
RocketMQ源码解读——消息发送之TOPIC路由信息获取
具体的发送demo我就不贴了,直接到里面去看实现了。 看到DefaultMQProducerImpl的sendDefaultImpl方法,这个方法非常的长,中间涉及到多个过程,比如拉取topic路由信息等,我们一部分一部分来看,先看开头部分: 一开始的部分比较简单,首先做一些基…
Rocketmq源码解读——定时消息
rocketmq只支持固定精度的定时消息,如果要支持任意的时间精度,需要在broker层面做消息排序,如果要持久化,那么将产生巨大的开销。 延迟级别我就不列举了。 这篇文章除了讲解定时消息,还会连带讲解一下ReputMessageService、ConsumeQueue和消息重…
Rocketmq源码解读——刷盘策略
三种刷盘策略性能依次降低。 先看刷盘策略被初始化的部分: 这里初始化了两个FlushCommitLogService,第一个是根据刷盘策略来的,第二个固定是CommitRealTimeService,也就是我们说的性能最好的刷盘策略。 后面会讲到作用。 我们先看第二和第三种刷盘…
Rocketmq源码解读——Filtersrv
Filtersrv负责自定义代码过滤Consumer从Broker拉去的消息。在没有Filtersrv的情况下,拉取消息很简单,就是直接连接Broker进行拉取即可。如果有了Filtersrv,则拉取是: Consumer ——> Filtersrv ——> Broker 对应…
RocketMQ源码解读——message顺序发送
普通顺序消息:Producer将相关联的消息发送到相同的消息队列。 严格顺序消息:在 普通顺序消息 的基础上,Consumer严格顺序消费。 目前已知的严格顺序消息,只使用在数据库binlog同步中。 普通顺序消息是使用MessageQueueSelector来实现的: 以上的…
RocketMQ源码解读——Broker消息存储
我们这一篇来看broker的消息存储过程。 broker启动时会启动一个NettyRemotingServer,我们之前说过,rocketmq通过netty做信息传递,这个NettyRemotingServer初始化时,会把NettyServerHandler加到Pipelin…