Apache RocketMQ 从入门到实战
文件存储设计理念、基于文件的 Hash 索引是怎么实现的? 定时消息、消息过滤等实现原理。 如何进行网络编程(Netty 实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 息过滤、事务消息等各个方面对其进行了体系化的剖析,边写边分享,边分享边传播,终于 得到了机 我比较“苦逼”,在带娃方面我的资源只有我老婆,父母在老家无法分身,故下班后我 没有连续的空闲时间专心投入一项任务中,而开源最需要的是精益求精,不只是需要完成功 能,而是要编写结构优良的代码,设计所占据的时间比代码开发时间要多的多,故我个人认 为我暂时不方便走代码贡献这条道路。但我零碎时间还是充足的,故现阶段我会好好利用这 些零碎时间,继续通过写文章的方式为开源项目贡献自己的一份力量。 本文来自『中间件兴趣 效。 当具备一定的基础后,如何从零开始参与进开源项目呢?通常有如下几个方法: 看看官方文档,特别是设计手册,从整体上把握其设计理念。 写写源码分析类文章,从整体上把控这个框架,这个花费时间较多,如果框架正在起步。 阶段,不建议该方法;如果框架比较成熟,非常建议采用该方法。 尝试看看开源项目中的 issues,看能不能解决,从问题入手,快速融入该项目。 尝试谢谢单元测试用例,测试驱动开发,借此学习该框架。0 码力 | 165 页 | 12.53 MB | 1 年前3消息中间件RocketMQ原理解析 - 斩秋
前言 此文档是从学习 rocketmq 源码过程中的笔记中整理出来的,由于时间及能力原因,理 解有误之处还请谅解,希望对大家学习使用 rocketmq 有所帮助。 Rocketmq 是阿里基于开源思想做的一款产品,代码托管于 github 上,要想学好用好 rocketmq //代表发送消息的在指定 broker 上指定 topic 下的队列编号 向指定 broker 的指定 topic 的指定 queue 发送消息 发送失败(1)重试次数不到两次(2)发送此条消息花费时间还没有到 3000(毫秒), 换 个队列继续发送。 2.1 producer 发送普通消息 2.2 顺序消息发送 Rocketmq 能够保证消息严格顺序,但是 Rocketmq messageQueueList [userId%messageQueueList.size()] 2.3 分布式事物消息 先引入官方文档图: 分布式事物是基于二阶段提交的 1) 一阶段,向 broker 发送一条 prepared 的消息,返回消息的 offset 即消息地址 commitLog 中消息偏移量。Prepared0 码力 | 57 页 | 2.39 MB | 1 年前3RocketMQ v3.2.4 开发指南
RocketMQ 开发挃南 针对 v3.2.4 ©Alibaba 消息中间件项目组 2015/1/7 文档变更历史 序号 主要更改内容 更改人 更改时间 1 建立初始版本 誓嘉 vintage.wang@gmail.com 2013/5/18 2 3.0 版本补充文档 誓嘉 vintage.wang@gmail.com 2013/8/16 单元都是定长,访问其中的存储单元使用 Offset 来访问,offset 为 java long 类型,64 位,理论上在 100 年内丌会溢出,所以讣为是长度无限,另外队列中只保存最近几天的数据,乀前的数据会挄照过期时间来 删除。 也可以讣为 Message Queue 是一个长度无限的数组,offset 就是下标。 4 消息中间件需要解决哪些问题? 本节阐述消息中间件通常需要解决哪些问题,在解决返些 Broker 在吐 Consumer 投递成功消息后,消息仍然需要保留。幵丏重新消费一般是挄照时间维度,例如由亍 Consumer 系统故障, 恢复后需要重新消费 1 小时前的数据,那举 Broker 要提供一种机制,可以挄照时间维度来回退消费迕度。 RocketMQ 支持挄照时间回溯消费,时间维度精确到毫秒,可以吐前回溯,也可以吐后回溯。 4.12 消息堆积 消息中间件的主要功能0 码力 | 52 页 | 1.61 MB | 1 年前3Apache RocketMQ on Amazon Web Services
Page 1 of 18 Apache RocketMQ on Amazon Web Services 部署手册 顾明 版本:v1.0.0 最后更新时间: 2021 年 01 月 Copyright (c) 2021 by Amazon.com, Inc. or its affiliates. Page 2 集群,如果其中一个 Broker 实例因故障无法提供服务,Raft 协议会自动在另外两个 Instance 中选择一个作 为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 18 • (*) 跨越多个可用区的公有⼦网和私有⼦网的 VPC(由西云数据运营的 AMAZON WEB SERVICES(宁 夏)区域为 Profile”,如下图所⽰ Page 15 of 18 5. 在弹出的窗⼝中输⼊ New Profile 的名字,并点击右下方的 Create 按钮,如下 图: 6. 输⼊ Proxy Server 的信息,如下图,完成后点击左下方的 Apply changes,注意 Port 对应的值需要设置为您建立 ssh tunnel 的本地端⼝,见第一步的-D0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
Page 1 of 21 快速部署高可用的 Apache RocketMQ 集群 部署手册 顾明 版本:v1.2.0 最后更新时间: 2023 年 11 月 Copyright (c) 2021 by Amazon.com, Inc. or its affiliates. Page 2 of 21 集群,如果其中一个 Broker 实例 因故障无法提供服务,Raft 协议会自动在另外两个 Instance 中选择一个作为 Master 继续提供服务从而达到高可用的效果,下图是部署完的一个架构实例图 Page 4 of 21 • (*) 跨越多个可⽤区的公有⼦⽹和私有⼦⽹的 VPC(由西云数据运营的 亚 马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的0 码力 | 21 页 | 2.57 MB | 1 年前3rocketmq 服务部署
broker名字,不同的配置文件填写的不一样 brokerName=broker-a # 0 表示master,>0 表示slave brokerId=0 # 删除文件时间点,默认凌晨4点 deleteWhen=04 # 文件保留时间,默认48小时 fileReservedTime=48 # Broker的角色,AYNSC_MASTER=异步复制master,SYNC_MASTER=同步双写master,SLAVE= broker名字,不同的配置文件填写的不一样 brokerName=broker-b # 0 表示master,>0 表示slave brokerId=1 # 删除文件时间点,默认凌晨4点 deleteWhen=04 # 文件保留时间,默认48小时 fileReservedTime=48 # Broker的角色,AYNSC_MASTER=异步复制master,SYNC_MASTER=同步双写master,SLAVE= broker名字,不同的配置文件填写的不一样 brokerName=broker-b # 0 表示master,>0 表示slave brokerId=0 # 删除文件时间点,默认凌晨4点 deleteWhen=04 # 文件保留时间,默认48小时 fileReservedTime=48 # Broker的角色,AYNSC_MASTER=异步复制master,SYNC_MASTER=同步双写master,SLAVE=0 码力 | 11 页 | 284.35 KB | 1 年前3万亿级数据洪峰下的消息引擎Apache RocketMQ
91 96 101 106 111 116 121 126 131 136 141 146 1. 每秒支撑千万级消息发布 2. 每条消息发布最大响应时间 不超过20ms 3. 每条消息发布平均响应时间 不超过3ms 1.4万亿 分布式慢请求带来的挑战 1.4万亿 消息中间件分布式慢请求解法 01 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起) 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估 SLA=99.999% 1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
91 96 101 106 111 116 121 126 131 136 141 146 1. 每秒支撑千万级消息发布 2. 每条消息发布最大响应时间 不超过20ms 3. 每条消息发布平均响应时间 不超过3ms 1.4万亿 分布式慢请求带来的挑战 1.4万亿 消息中间件分布式慢请求解法 01 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 写入数据平均响应时间不超过1ms 写入数据最大响应时间不超过20ms(Java GC暂停线程引起) 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估 SLA=99.999% 1.4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟0 码力 | 35 页 | 5.82 MB | 1 年前3Apache RocketMQ 介绍
机后,消息发送会失败,但是不会 序。 ● RocketMQ支持定时消息 ● RocketMQ支持分布式事务消息 ● RocketMQ支持根据消息标识或内容查询。 ● RocketMQ支持按照时间来回溯消息,精度毫秒,例如从一天之前的某时某分某秒开始重新消费消 原文链接:Apache RocketMQ 介绍 。 其他消息中间件 RabbitMQ是AMQP规范的参考实现,AMQP是一个0 码力 | 5 页 | 375.48 KB | 1 年前3
共 9 条
- 1