随笔分类 -  RocketMQ分布式消息中间件

摘要:延迟消息机制 一、延迟消息概述 什么是延迟消息呢?延迟消息也叫定时消息,一般地,生产者在发送消息后,消费者希望在指定的一段时间后再消费。常规做法是,把信息存储在数据库中,使用定时任务扫描,符合条件的数据再发送给消费者。 RocketMQ 延迟消息是通过 D:\rocketmq-master\stor 阅读全文
posted @ 2021-03-02 15:47 左扬 阅读(696) 评论(0) 推荐(0) 编辑
摘要:RocketMQ——事务消息机制 一、事务消息概述 2018 年 07 月 24 日,RocketMQ 社区发布 4.3.0 版本,开始正式支持事务消息。 事务消息的实现方案目前分为2种: 两阶段提交方案 三阶段提交方案 RocketMQ 采取了两阶段提交的方案进行实现。 我们在说到事务时,通常会想 阅读全文
posted @ 2021-03-02 13:26 左扬 阅读(902) 评论(0) 推荐(0) 编辑
摘要:Broker 的关机恢复机制 一、Broker关机恢复概述 Broker关机恢复是指恢复 CommitLog、Consume Queue、Index File 等数据文件。Broker 关机分为正常调用命令关机和异常被迫进程停止关机两种情况。恢复过程的设计目标是使进程正常停止的进程实现零数据丢失,异 阅读全文
posted @ 2021-03-02 11:13 左扬 阅读(582) 评论(0) 推荐(0) 编辑
摘要:Broker 主从同步机制 一、主从同步概述 Broker 有2种角色: Master:主要用于处理生产者、消费者的请求和存储数据。 Slave:从 Master 同步所有数据到本地。具体体现在以下2个方面: Broker 服务高可用。一般生产环境会部署两个主Broker节点和两个从Broker(2 阅读全文
posted @ 2021-03-01 21:52 左扬 阅读(1890) 评论(0) 推荐(0) 编辑
摘要:Broker 过期文件删除机制 RocketMQ 中主要保存了 CommitLog、Consume Queue、Index File 三种数据文件。由于内存和磁盘都是有限的资源,Broker 不可能永久地保存所有数据,所以一些超过保存期限的数据会被定期删除。RocketMQ 通过设置数据过期时间来删 阅读全文
posted @ 2021-03-01 20:42 左扬 阅读(1165) 评论(0) 推荐(0) 编辑
摘要:Broker CommitLog 索引机制 绝大部分存储组件都有索引机制,RocketMQ 也一样,有巨量堆积能力的同时,通过索引可以加快读取和查询。 一、索引的数据结构: 索引,是为增加查询速度而设计的一种数据结构。在 RocketMQ 中也是以文件形式保存在 Broker 中的。 Broker中 阅读全文
posted @ 2021-03-01 16:16 左扬 阅读(862) 评论(0) 推荐(0) 编辑
摘要:Broker读写分离机制 在 RocketMQ 中,有2处地方使用到 "读写分离" 机制。 Broker Master-Slave 读写分离:写操作到 Master Broker,从 Slave Broker 读取消息。Broker 配置为 slaveReadEnable=True(默认False) 阅读全文
posted @ 2021-03-01 14:27 左扬 阅读(1678) 评论(0) 推荐(1) 编辑
摘要:Broker消息存储机制 RocketMQ 使用 CommitLog 文件将消息存储到磁盘上,那么 RocketMQ 存储消息到磁盘的过程是怎么样的呢? RocketMQ 首先将消息数据写入操作系统 PageCache,然后定时将数据刷入磁盘。 一、Broker 消息存储的流程是什么? 下面主要介绍 阅读全文
posted @ 2021-02-25 16:59 左扬 阅读(916) 评论(0) 推荐(0) 编辑
摘要:Broker 消息结构、PageCache和零拷贝技术 堆积能力是消息队列的一个重要考核指标。存储机制是 RocketMQ 中的核心,也是亮点设计,因为存储机制决定写入和查询的效率。 一、Broker 消息存储结构 1.1 Broker 存储概述 Broker 通过 CommitLog、Consum 阅读全文
posted @ 2021-02-24 18:18 左扬 阅读(748) 评论(0) 推荐(0) 编辑
摘要:Broker 概述、启动和停止流程 Broker 是 RocketMQ 体系中核心组件之一,存储是 Broker 的核心功能之一,决定整个 RocketMQ 体系的吞吐性能、可靠性和可用性。 一、Broker 概述 1.1 什么是 Broker Broker 是 RocketMQ 中核心的模块之一, 阅读全文
posted @ 2021-02-24 15:53 左扬 阅读(4094) 评论(0) 推荐(0) 编辑
摘要:RocketMQ的路由原理 生产者发送消息、消费者消费时都需要从 Namesrv 拉取 Topic 路由信息,那么这些路由信息是如何注册到 Namesrv 的呢?如果 Broker 异常宕机,路由信息又是如何更新的呢? 一、路由注册 Namesrv 获取的 Topic 路由信息来自 Broker 定 阅读全文
posted @ 2021-02-24 15:49 左扬 阅读(747) 评论(0) 推荐(0) 编辑
摘要:Namesrv 服务 Namesrv 在 RocketMQ 体系中,可以看做是一个 Topic 路由注册和管理、Broker注册和发现的角色。 一、概述 Namesrv 在 RocketMQ 体系中主要用于保存元数据、提高 Broker 的可用性。 1.1 什么是 Namesrv 在 RocketM 阅读全文
posted @ 2021-02-24 10:57 左扬 阅读(1010) 评论(0) 推荐(0) 编辑
摘要:RocketMQ部署拓扑和部署实践 一、常用的拓扑图 常用的 RocketMQ 的部署拓扑方式有 5 种,不同的部署方式可靠性不同。 一个基本的部署拓扑至少包含 Console 管理平台、Namesrv 和 Broker: Namesrv 部署:推荐一个集群并部署 2~3 个Namesrv 节点。 阅读全文
posted @ 2021-02-23 15:40 左扬 阅读(432) 评论(0) 推荐(0) 编辑
摘要:RocketMQ体系架构 Github:https://github.com/apache/rocketmq/blob/master/docs/cn/architecture.md 一、概述 RocketMQ 不单单是一个技术,它还是一个体系。一个可用的 RocketMQ 体系简单总结如下: Pro 阅读全文
posted @ 2021-02-23 15:10 左扬 阅读(270) 评论(0) 推荐(0) 编辑
摘要:消费者最佳实践 Gitbhub地址:https://github.com/apache/rocketmq/blob/master/docs/cn/best_practice.md 2.1 消费过程幂等 RocketMQ无法避免消息重复(Exactly-Once),所以如果业务对消费重复非常敏感,务必 阅读全文
posted @ 2021-02-23 15:04 左扬 阅读(671) 评论(0) 推荐(0) 编辑
摘要:消费过滤 一、为什么要涉及过滤功能? RocketMQ 设计了消息过滤,来解决大量无意义流量的传输:即对于客户端不需要的消息,Broker 就不会传输给客户端,以免浪费宽带。 二、RocketMQ 支持消息过滤 RocketMQ 4.8.0 支持 Tag 过滤、SQL92过滤、Filter Serv 阅读全文
posted @ 2021-02-22 16:36 左扬 阅读(779) 评论(6) 推荐(1) 编辑
摘要:消费方式 RocketMQ 包含2种消费方式: Pull Push Pull方式:用户主动Pull消息,自主管理位点。默认的 Pull 消费者实现类:D:\rocketmq-master\client\src\main\java\org\apache\rocketmq\client\consumer 阅读全文
posted @ 2021-02-22 10:27 左扬 阅读(1184) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(4.8.0)——消费进度保存机制 在消费者启动时会同时启动位点管理器,那么位点具体是怎么管理的呢? RocketMQ 设计了2种位点管理方式: 远程位点管理方式(集群消费时,位点由客户端交给 Broker 保存,代码路径:D:\rocketmq-master\client\src\ 阅读全文
posted @ 2021-02-20 16:55 左扬 阅读(928) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(4.8.0)——消费者的Rebalance机制 客户端是通过 Rebalance 服务做到高可靠的。当发生 Broker 掉线、消费者实例掉线、Topic 扩容等各种突发情况时,消费者组中的消费者实例是怎么重平衡,以支持全部队列的正常消费的呢? RebalancePullImpl 阅读全文
posted @ 2021-02-20 11:31 左扬 阅读(737) 评论(0) 推荐(0) 编辑
摘要:RocketMQ(4.8.0)——DefaultMQPushConsumer 启动流程 阅读全文
posted @ 2021-02-20 11:28 左扬 阅读(106) 评论(0) 推荐(0) 编辑

levels of contents
点击右上角即可分享
微信分享提示