RocketMQ

Redis+Hbase+RocketMQ 实际使用问题案例讲解

目录 需求 分析及确定方案 实现 部分代码 踩坑 总结 需求 将Hbase数据,解析后推送到RocketMQ。 redis使用list数据类型,存储了需要推送的数据的RowKey及表名。 简单画个流程图就是: 分析及确定方案 Redis 明确list中元素结构{"rowk »

MQ系列11:如何保证消息可靠性传输(除夕奉上)

MQ系列1:消息中间件执行原理 MQ系列2:消息中间件的技术选型 MQ系列3:RocketMQ 架构分析 MQ系列4:NameServer 原理解析 MQ系列5:RocketMQ消息的发送模式 MQ系列6:消息的消费 MQ系列7:消息通信,追求极致性能 MQ系列8:数据存储,消息队列的高可用保障 M ... »

RocketMq深入分析讲解两种削峰方式

目录 何时需要削峰 通过消息队列的削峰方法有两种 消费延时控流 总结 何时需要削峰 当上游调用下游服务速率高于下游服务接口QPS时,那么如果不对调用速率进行控制,那么会发生很多失败请求 通过消息队列的削峰方法有两种 控制消费者消费速率和生产者投放延时消息,本质都是控制消费速度 通过 »

【RocketMQ】负载均衡源码分析

RocketMQ在集群模式下,同一个消费组内,一个消息队列同一时间只能分配给组内的某一个消费者,也就是一条消息只能被组内的一个消费者进行消费,为了合理的对消息队列进行分配,于是就有了负载均衡。 接下来以集群模式下的消息推模式DefaultMQPushConsumerImpl为例,看一下负载均衡的过程 ... »

RocketMQ消息短暂而又精彩的一生

大家好,我是三友~~ 这篇文章我准备来聊一聊RocketMQ消息的一生。 不知你是否跟我一样,在使用RocketMQ的时候也有很多的疑惑: 消息是如何发送的,队列是如何选择的?消息是如何存储的,是如何保证读写的高性能?RocketMQ是如何实现消息的快速查找的?RocketMQ是如何实现高可用的?消 ... »

zzyang

基于云基础设施快速部署 RocketMQ 5.0 集群

如何解决在云基础设施上部署 RocketMQ 时面临多节点部署带来的高操作成本等诸多挑战?快来了解 RocketMQ Operator 是怎样支撑 RocketMQ 集群在云基础设施上的自动化运维与管理吧! ... »

RocketMQ

一文彻底掌握RocketMQ 的存储模型

目录 RocketMQ简介 1 整体概览 2 数据文件 3 消费文件 4 索引文件 5 写到最后 RocketMQ简介 RocketMQ有Producer、Consumer、NameSrv、Broker四个部分。其中Broker用于存储消息,维护消息队列和订阅关系,是RocketMQ四个部 »

图文并茂讲解RocketMQ消息类别

目录 1、同步消息 2、异步消息 3、单向消息 1、同步消息 即时性较强,重要的消息,且必须有回执的消息,例如短信,通知(转账成功) 生产者: public class Producer { public static void main(String[] args) t »

RocketMQ消息拉取过程详解

目录 前言 DefaultLitePullConsumer拉消息代码示例 消息消费 消息拉取入口 PullTaskImpl拉消息 前言 在上一篇文章中,我们讲述了DefaultMQPushConsumer拉消息的原理,它是通过重平衡触发pullRequest的创建,通过阻塞队列作为pull »

详解RocketMQ 消费端如何监听消息

目录 前言 流程地图 源码跟踪 核心模块(消息拉取) 拉取流程 拉取消息处理 当pullStatus为FOUND,消息进行提交消费的请求 消息消费进度提交 总结 前言 上一篇文章中我们主要来看RocketMQ消息消费者是如何启动的, 那他有一个步骤是非常重要的,就是启动消息的 »

RocketMQ NameServer保障数据一致性实现方法讲解

目录 路由注册角度 路由剔除 路由发现 路由注册角度 对于ZooKeeper这样的强一致性组件,使用主从分离的架构,数据只写到主节点,主从之间的数据同步通过内部机制来进行数据复制。 对于RocketMQ来说,NameServer节点之间是互相不进行通信的,这样也就无法进行数据复制。Roc »

【RocketMQ】主从同步实现原理

主从同步的实现逻辑主要在HAService中,在DefaultMessageStore的构造函数中,对HAService进行了实例化,并在start方法中,启动了HAService: public class DefaultMessageStore implements MessageStore { ... »

RocketMQ系列-搭建Namesrv源码调试环境

RocketMQ系列-搭建Namesrv源码调试环境 在学习任何一个技术框架的时候,我们通常都是先了解是什么,有什么作用、解决什么问题、设计亮点和设计思想是什么;当然对于技术学习上来说,这只是纸上谈兵,一开始比较基础的学习,当我们想要深入的时候,我们必不可少的就是希望能够去调试源码,能够在本地运行一 ... »

KingJack

RocketMQ生产者调用start发送消息原理示例

目录 RocketMQ发送消息 start()里面究竟做了什么操作 小结 RocketMQ发送消息 我们在使用RocketMQ发送消息时,一般都会使用DefaultMQProducer,类型的代码如下: DefaultMQProducer producer = new Default »

RocketMQ消息生产者是如何选择Broker示例详解

目录 前言 从NameServer查询Topic信息 如何选择Broker 小结 前言 在RocketMQ中为,我们创建消息生产者时,只需要设置NameServer地址,消息就能正确地发送到对应的Broker中,那么RocketMQ消息生产者是如何找到Broker的呢?如果有多个Broke »

RocketMQ生产者如何规避故障Broker方式详解

目录 前言 收集故障Broker 选择Broker 小结 前言 在消息发送过程中,生产者从NameServer中获取到了指定Topic对应的Broker信息,在同步发送消息的代码中,如果消息发送失败,生产者默认是会重试两次的。那么Broker有问题的情况下,无论重试多少次都是没有意义的,消 »

使用Idea调试RocketMQ源码教程

目录 前言 下载源码 代码编译 运行namesrv 启动 启动broker 配置文件 启动broker 小结 前言 为了更好地了解RocketMQ,我打算看一看它的源码了。随着RocketMQ5.0版本的发布,应该有更多小伙伴在实际应用中选择RocketMQ。那么我们就从这一篇文章开 »