基于Apache APISIX 与RocketMQ 构建云原生一体化架构
RocketMQ 简介 02 云原生时代的 RocketMQ 03 借力 APISIX 构建云原生接入体系 CONTENT Apache RocketMQ 简介 01 业务消息领域挑战 • 核心链路,稳定性要求高、时延敏感 • 容量峰值具有随机性,弹性要求高 • 业务场景复杂、集成要求尽可能简单 • 运维及流量调拨要求高 极简架构 高性能 金融级高可靠 打造业务消息领域首选 零依赖 物理机 经典网络/VPC 网络 Overlay/Underlay NVMe 普通云盘 ESSD 云盘 SA TA 独占/混部/独立交付…… • 集群节点异常成为常态 • 依赖服务随时可能在进行迁移或重启 • 对弹性的要求开始从物理资源变为逻辑资源 • IaaS 的多样性对应用交付部署提出了更高要求 • 可运维性、可观测性带来了更大挑战 • 多租环境带来了更高的网络及安全隔离要求 • 无限资源 vs 有限成本 • 冗长的请求链路,膨胀的技术栈 ……. 面向失败 松散耦合 基础设施解耦 极致弹性 多场景适应 低成本 高 SLA X 客户价值: X 多场景 云原生时代的挑战 云原生四要素 云原生时代的 RocketMQ admin 富客户端 轻量级 SD K API兼容 计算 云存储 VPC 网络 Kubernetes Name Server0 码力 | 22 页 | 2.26 MB | 1 年前3万亿级数据洪峰下的消息引擎Apache RocketMQ
RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可用 10亿 百亿 千亿 5千亿+ 万亿+ 历年双11消息数量变化 2012双11 2013双11 2014双11 2015双11 几十万条/秒 菜鸟蓄洪 天猫满返 交易买卖家 BCP 交易安全 钉钉 淘客 航旅 发布消息峰值:数千万条/秒 订阅消息峰值:数千万条/秒 堆积消息峰值:千亿条 消息中间件核心链路 1.4万亿 万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可靠 1.4万亿 RocketMQ 多副本高可靠 ZK provides: • Maintain persistent state Machine0 码力 | 35 页 | 993.29 KB | 1 年前3万亿级数据洪峰下的消息引擎 Apache RocketMQ
RocketMQ 未来展望 m w a l i b a b a - i n c . c o m ©2016 Alibaba Middleware Group n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可用 10亿 百亿 千亿 5千亿+ 万亿+ 历年双11消息数量变化 2012双11 2013双11 2014双11 2015双11 几十万条/秒 菜鸟蓄洪 天猫满返 交易买卖家 BCP 交易安全 钉钉 淘客 航旅 发布消息峰值:数千万条/秒 订阅消息峰值:数千万条/秒 堆积消息峰值:千亿条 消息中间件核心链路 1.4万亿 万亿洪峰下有哪些问题 机器假死 IO Util,Load飙高 磁盘响应慢 消息大量堆积 网卡故障,甚至流量跑满 磁盘损坏 零点之战:发布消息SLA要求100% 慢请求开始大量增加 阿里消息中间件的演变历史 双11万亿级数据洪峰的挑战 Apache RocketMQ 未来展望 m w a l i b a b a - i n c . c o m n 历年双11消息数量变化 n 消息中间件核心链路 n 低延迟存储 n 容量保障 n 熔断机制 n 多副本高可靠 1.4万亿 RocketMQ 多副本高可靠 ZK provides: • Maintain persistent state Machine0 码力 | 35 页 | 5.82 MB | 1 年前3Apache RocketMQ 介绍
链滴 Apache RocketMQ 介绍 作者:boccaro 原文链接:https://ld246.com/article/1588041859812 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) Apache RocketMQ 介绍 概要 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容 种情况下,阿里巴巴决定发明一个新的消息传递引擎来处理更广泛的用例集,从传统的发布/订阅方 到大批量实时零损失容忍交易系统。 里程碑 2012年,阿里巴巴开始开发RocketMQ,经历了数次双11核心交易链路检验。 2016年11月11日,RocketMQ又一次在阿里巴巴全球购物节上处理了1.2万亿个并发在线消息传输, 后阿里巴巴将RocketMQ捐献给Apache Incubator。 2017年9月25日0 码力 | 5 页 | 375.48 KB | 1 年前3rocketmq 服务部署
链滴 rocketmq 服务部署 作者:gitsilence 原文链接:https://ld246.com/article/1632123166220 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 摘自:https://zhuanlan.zhihu.com/p/226173170 rocketmq源码构建 系统:Mac OS 12.00 码力 | 11 页 | 284.35 KB | 1 年前3RocketMQ v3.2.4 开发指南
........................................................................................ 29 9.1 网络协议 ................................................................................................ 可以严格的保证消息有序。 4.4 Message Filter Broker 端消息过滤 在 Broker 中,挄照 Consumer 的要求做过滤,优点是减少了对亍 Consumer 无用消息的网络传输。 缺点是增加了 Broker 的负担,实现相对复杂。 (1). 淘宝 Notify 支持多种过滤方式,包含直接挄照消息类型过滤,灵活的诧法表达式过滤,几乎可以满足 最苛刻的过滤需求。 为了追求高性能,幵丌保证此特性,要求在业务上迕行去重, 也就是说消费消息要做到幂等性。RocketMQ 虽然丌能严格保证丌重复,但是正常情冴下很少会出现重复収送、消 费情冴,只有网络异常,Consumer 启停等异常情冴下会出现消息重复。 此问题的本质原因是网络调用存在丌确定性,即既丌成功也丌失败的第三种状态,所以才产生了消息重复性问 题。 4.10 Broker 的 Buffer 满了怎么办? Broker0 码力 | 52 页 | 1.61 MB | 1 年前3Apache RocketMQ 从入门到实战
如何实现刷盘(可以类比一下数据库方面的刷盘、redo、undo 日志)? RocketMQ 文件存储设计理念、基于文件的 Hash 索引是怎么实现的? 定时消息、消息过滤等实现原理。 如何进行网络编程(Netty 实战)? 下定决心后便开始了我的源码分析 RocketMQ 之旅,大概在 4 个多月的时间中连续 发表了 30 余篇文章,从 Nameserver、消息发送高可用设计、消息存储、消息消费、消 定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions 非常容易,提交一个 PR 并被通过即可,甚至于 提交一个文档被接受也同样可以,难的是持续贡献,最终被开源项目的 备注:本文偏实战,源码只是作为分析的重点证据,故本文只会点出关键源码,并不会 详细跟踪其整个实现流程,如果想详细了解其实现,可以查阅笔者编著的《RocketMQ 技 术内幕》。 1. RocketMQ 网络处理机制概述 RocketMQ 的网络设计非常值得我们学习与借鉴,首先在客户端端将不同的请求定义 不同的请求命令 CODE,服务端会将客户端请求进行分类,每个命令或每类请求命令定义 一个处理器(NettyRequestProcessor),然后每一个0 码力 | 165 页 | 12.53 MB | 1 年前3docker-compose 安装 RocketMQ
docker-compose 安装 rocketmq 作者:gaga 原文链接:https://ld246.com/article/1607353262990 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 一、拉取镜像 docker pull rocketmqinc/rocketmq 二、设置网段 docker network create0 码力 | 3 页 | 135.58 KB | 1 年前3Apache RocketMQ on Amazon Web Services
自定义堆栈名称后,配置必填参数选项,并且根据需求调整已有默认值的选项。以下 为详细的参数解释。两个选项除了网络配置不同以外,其他配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability Zones AvailabilityZones 化并且存放到了不同的前缀目录 下。 选项 2:用于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID(例 如, vpc0343606e)。 2 Primary Node Subnet0 码力 | 18 页 | 1.55 MB | 1 年前3快速部署高可用的Apache RocketMQ 集群 - Amazon S3
配置都是相同的。 选项 1:⽤于将 Apache RocketMQ 部署到新 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 Availability Zones AvailabilityZones 必填项 ⼦⽹可⽤区的列表。 您指定的 逻辑顺序会被保留。此部署使⽤ 2 个或 化并且存放到了不同的前缀⽬录 下。 选项 2:⽤于将 RocketMQ 部署到现有 VPC 的参数 参数标签 参数名称 默认值 说明 Network Configuration 网络配置 1 VPC VPC 必填项 您希望部署到的已有 VPC ID (例如, vpc0343606e)。 2 Primary Node Subnet0 码力 | 21 页 | 2.57 MB | 1 年前3
共 11 条
- 1
- 2