基于Apache APISIX 与RocketMQ 构建云原生一体化架构独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战 • 多租环境带来了更高的网络及安全隔离要求 • 无限资源 vs 有限成本 • 冗长的请求链路,膨胀的技术栈 ……. 面向失败 松散耦合 基础设施解耦 极致弹性0 码力 | 22 页 | 2.26 MB | 1 年前3
Apache RocketMQ 从入门到实战contributions 非常容易,提交一个 PR 并被通过即可,甚至于 提交一个文档被接受也同样可以,难的是持续贡献,最终被开源项目的 PMC 认为对该项目 有着突出贡献。 我比较“苦逼”,在带娃方面我的资源只有我老婆,父母在老家无法分身,故下班后我 没有连续的空闲时间专心投入一项任务中,而开源最需要的是精益求精,不只是需要完成功 能,而是要编写结构优良的代码,设计所占据的时间比代码开发时间要多的多,故我个人认 一个处理器(NettyRequestProcessor),然后每一个 NettyRequestProcessor 绑定到 一个单独的线程池,进行命令处理,不同类型的请求将使用不同的线程池进行处理,实现线 程隔离。 为了方便下文的描述,我们先简单的认识一下 NettyRequestProcessor、Pair、 RequestCode。其核心关键点如下: 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 作的,但如果 nanmeserver,broker 一起假死,则上述架构还是无法规避上面的问题。 故本次的最佳实践主要包含如下两条: 1. nameserver 与 broker 一定要分开部署,进行隔离。 2. nameserver 与客户端的连接,应该在超时后,关闭连接,触发 nameserver 漂移, 需要修改源码。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。0 码力 | 165 页 | 12.53 MB | 1 年前3
王强-Apache RocketMQ事务消息两阶段提交 2. 仅商业化数据库⽀支持 3. ⽆无法满⾜足⾼高并发场景 分布式事务解决⽅方案 SAGA 特点: 1. 提交+补偿 2. 并发隔离性很难保证 分布式事务解决⽅方案 TCC 特点: 1. 特殊的两阶段提交 2. Try阶段检查/锁定资源 没有真正提交 3. 增加了了⼀一个状态处理理,开发变复杂 4. CC需要幂等,能够⽀支持重试 5. 如果CC重试不不成功/超时,需要⼿手⼯工⼲干预0 码力 | 34 页 | 6.17 MB | 1 年前3
万亿级数据洪峰下的消息引擎Apache RocketMQ不超过20ms 3. 每条消息发布平均响应时间 不超过3ms 1.4万亿 分布式慢请求带来的挑战 1.4万亿 消息中间件分布式慢请求解法 01 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 1.4万亿 低延迟分布式存储系统 – RocketMQ存储 Java Heap Lock Page Cache Disk Request Request Request 4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离 的机器 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估0 码力 | 35 页 | 993.29 KB | 1 年前3
万亿级数据洪峰下的消息引擎 Apache RocketMQ不超过20ms 3. 每条消息发布平均响应时间 不超过3ms 1.4万亿 分布式慢请求带来的挑战 1.4万亿 消息中间件分布式慢请求解法 01 02 低延迟分布式存储系统 在线熔断机制,秒级隔离 03 容量保障,限流 1.4万亿 低延迟分布式存储系统 – RocketMQ存储 Java Heap Lock Page Cache Disk Request Request Request 4万亿 在线熔断机制 ①消息服务器 ②消息服务器 ③消息服务器 ④消息服务器 应用 规则 1. 最多只能隔离 30%的机器。 2. 响应时间过长, 开始隔离1分钟 3. 调用抛异常隔 离1分钟 4. 如果隔离的服 务器超过30%, 则有部分调用 会进入隔离列 表中最早隔离 的机器 1.4万亿 双十一当天高可用要求 ~~ 100% 低延迟的分布式存储系统 在线熔断机制 完善的容量评估0 码力 | 35 页 | 5.82 MB | 1 年前3
Apache RocketMQ on Amazon Web ServicesCloudFormation 提供了一种创建和管理相关 AMAZON WEB SERVICES 资源的简 便方法,并通过有序 且可预测的方式进⾏资源配置和更新。本快速⼊⻔提供两种部署 选项,一种是将 Apache RocketMQ 部署到新 VPC 环境中,另一种是 部署到已有 VPC 环 境中。使用默认参数为在新 VPC 环境中 部署以下资源。如果您选择的是将此方案部署 到已有 VPC 中,将跳过 (不创建) 带有星号(*)的组件,并提⽰ AMAZON WEB SERVICES(宁 夏)区域为 3 个,由光环新网运营的 AMAZON WEB SERVICES(北京)区域为 2 个)。 • (*) 在公有⼦网中,允许私有⼦网中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦网中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认情况 下将 QuickStart Configuration 24 Quick Start S3 Bucket Name QSS3BucketName aws- cnquickstart 资源所在的 S3 存储 桶。请不要 更改此选 项,除⾮您对启动脚 RocketMQ 快速部署脚本做了自 定义化并且 上传到了您自己的 桶中。 25 Quick Start S30 码力 | 18 页 | 1.55 MB | 1 年前3
快速部署高可用的Apache RocketMQ 集群 - Amazon S3CloudFormation 提供了⼀种创建和管理相关 AMAZON WEB SERVICES 资源的简便⽅法,并通过有序 且可预测的⽅式进⾏资源配置和更新。本快速⼊⻔提供 两种部署选项,⼀种是将 Apache RocketMQ 部署到新 VPC 环境中,另⼀种是 部署 到已有 VPC 环境中。使⽤默认参数为在新 VPC 环境中 部署以下资源。如果您选择的 是将此⽅案部署到已有 VPC 中,将跳过 (不创建) 带有星号(*)的组件,并提⽰ 跨越多个可⽤区的公有⼦⽹和私有⼦⽹的 VPC(由西云数据运营的 亚 马逊云科技(宁 夏)区域为 3 个,由光环新⽹运营的 亚马逊云科技(北 京)区域为 2 个)。 • (*) 在公有⼦⽹中,允许私有⼦⽹中的资源(RocketMQ 实例)进⾏出站 Internet 连接的 NAT Gateway。 • (*) 在公有⼦⽹中,Auto Scaling 组中的允许 SSH 访问的堡垒主机。默认 情况下将 Configuration 24 Quick Start S3 Bucket Name QSS3BucketName aws- cnquickstart 资源所在的 S3 存储 桶。请不要 更改此选 项,除⾮您对启动脚 RocketMQ 快速部署脚本做了 ⾃定义化并且 上传到了您⾃⼰ 的桶中。 25 Quick Start S30 码力 | 21 页 | 2.57 MB | 1 年前3
RocketMQ v3.2.4 开发指南(4). 机器掉电,但是能立即恢复供电情冴。 (5). 机器无法开机(可能是 cpu、主板、内存等关键设备损坏) (6). 磁盘设备损坏。 (1)、(2)、(3)、(4)四种情冴都属亍硬件资源可立即恢复情冴,RocketMQ 在返四种情冴下能保证消息丌丢,戒 者丢失少量数据(依赖刷盘方式是同步迓是异步)。 (5)、(6)属亍单点故障,丏无法恢复,一旦収生,在此单点上的消息全部丢失。RocketMQ com/alibaba/RocketMQ 29 1. 使用 CPU 资源来换叏网卡流量资源 2. FilterServer 不 Broker 部署在同一台机器,数据通过本地回环通信,丌走网卡 3. 一台 Broker 部署多个 FilterServer,充分利用 CPU 资源,因为单个 Jvm 难以全面利用高配的物理机 Cpu 资源 4. 因为过滤代码使用 Java 诧言来编写,应用几乎 诧言迕行作为过滤表达式是一个双刃剑,方便了应用的过滤操作,但是带来了服务器端的安全风险。 需要应用来保证过滤代码安全,例如在过滤程序里尽可能丌做申请大内存,创建线程等操作。避免 Broker 服 务器収生资源泄漏。 使用方式参见 Github 例子 https://github.com/alibaba/RocketMQ/blob/develop/rocketmq-example/src/main0 码力 | 52 页 | 1.61 MB | 1 年前3
共 8 条
- 1













