摘要: 上一篇 "源码分析 RocketMQ DLedger(多副本) 之日志复制(传播)" ,可能有不少读者朋友们觉得源码阅读较为枯燥,看的有点云里雾里,本篇将首先梳理一下 RocketMQ DLedger 多副本关于日志复制的三个核心流程图,然后再思考一下在异常情况下如何保证数据一致性。 @ "TOC" 阅读全文
posted @ 2019-12-17 21:19 中间件兴趣圈 阅读(1359) 评论(0) 推荐(2) 编辑
摘要: 温馨提示:源码分析RocketMQ DLedger 多副本系列连载中: 1、 "RocketMQ 多副本前置篇:初探raft协议" 2、 "源码分析 RocketMQ DLedger 多副本之 Leader 选主" 3、 "源码分析 RocketMQ DLedger 多副本存储实现" 4、 "源码分 阅读全文
posted @ 2019-12-15 20:24 中间件兴趣圈 阅读(650) 评论(0) 推荐(1) 编辑
摘要: 消息组接到某项目组反馈,topic 在扩容后出现部分队列无法被消费者,导致消息积压,影响线上业务? 考虑到该问题是发送在真实的线上环境,为了避免泄密,本文先在笔者的虚拟机中来重现问题。 @ "TOC" 1、案情回顾 1.1 集群现状 集群信息如下: 例如业务主体名 topic_dw_test_by_ 阅读全文
posted @ 2019-12-12 22:11 中间件兴趣圈 阅读(3073) 评论(0) 推荐(3) 编辑
摘要: @ "TOC" RocketMQ DLedger 的存储实现思路与 RocketMQ 的存储实现思路相似,本文就不再从源码角度详细剖析其实现,只是点出其实现关键点。我们不妨简单回顾一下 CommitLog 文件、ConsumeQueue 文件设计思想。 其文件组成形式如下: 正如上图所示,多个 co 阅读全文
posted @ 2019-12-10 20:22 中间件兴趣圈 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 温馨提示:《RocketMQ技术内幕》作者倾力打造的全新专栏:RocketMQ 多副本(主从切换): 1、 "《RocketMQ 多副本前置篇:初探raft协议》" 本文将按照 "《RocketMQ 多副本前置篇:初探raft协议》" 的思路来学习RocketMQ选主逻辑。首先先回顾一下关于Lead 阅读全文
posted @ 2019-12-08 21:54 中间件兴趣圈 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofdata.com/raft/ @ "TOC" 1、Leader选举 1.1 一轮投 阅读全文
posted @ 2019-12-05 21:32 中间件兴趣圈 阅读(807) 评论(0) 推荐(1) 编辑
摘要: @ "TOC" 1、抛出问题 一个新的消费组订阅一个已存在的Topic主题时,消费组是从该Topic的哪条消息开始消费呢? 首先翻阅DefaultMQPushConsumer的API时,setConsumeFromWhere(ConsumeFromWhere consumeFromWhere)API 阅读全文
posted @ 2019-11-27 23:31 中间件兴趣圈 阅读(4292) 评论(0) 推荐(1) 编辑
摘要: 本文沿着 "《RocketMQ消息轨迹 设计篇》" 的思路,从如下3个方面对其源码进行解读: 1. 发送消息轨迹 1. 消息轨迹格式 1. 存储消息轨迹数据 @ "TOC" 1、发送消息轨迹流程 首先我们来看一下在消息发送端如何启用消息轨迹,示例代码如下: java public void send 阅读全文
posted @ 2019-11-24 19:38 中间件兴趣圈 阅读(1862) 评论(0) 推荐(0) 编辑
摘要: @ "TOC" RocketMQ消息轨迹主要包含两篇文章:设计篇与源码分析篇,本节将详细介绍RocketMQ消息轨迹 设计相关。 RocketMQ消息轨迹,主要跟踪消息发送、消息消费的轨迹,即详细记录消息各个处理环节的日志,从设计上至少需要解决如下三个核心问题: 消费轨迹数据格式 记录消息轨迹(消息 阅读全文
posted @ 2019-11-19 20:52 中间件兴趣圈 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: 有关RocketMQ ACL的使用请查看上一篇 "《RocketMQ ACL使用指南》" ,本文从源码的角度,分析一下RocketMQ ACL的实现原理。 备注:RocketMQ在4.4.0时引入了ACL机制,本文代码基于RocketMQ4.5.0版本。 @ "TOC" 根据RocketMQ ACL 阅读全文
posted @ 2019-11-17 21:48 中间件兴趣圈 阅读(650) 评论(0) 推荐(0) 编辑