ApsaraMQ Serverless 演进之路,助力企业降本

作者:家泽

ApsaraMQ 与时俱进,砥砺前行

阿里云消息队列从诞生开始,至今已有十余年。今年,阿里云消息产品全面品牌升级为 ApsaraMQ,与时俱进,砥砺前行。

图片

2012 年,RocketMQ 诞生于集团内部,用于淘宝交易等核心业务链路。历经集团多年来双 11 万亿级的考验、稳定性的打磨,依托云计算孵化,以及开源社区的协力。 于 2015 年,RocketMQ 在阿里云上,面向企业提供商业化的消息队列服务。随后以 RocketMQ 为基础,拓展 Kafka,RabbitMQ,MQTT,MNS 等商业化产品,致力于服务有更多场景需求的企业;

2017 年,RocketMQ 成为 Apache 基金会顶级项目;

2022 年,RocketMQ5.0 正式发布,完全构建于云原生基础设施之上, 充分释放云基础设施的池化能力,全方位提高消息的核心技术指标。在事件、流处理方面,做了新的提升。消息处理方面,在队列模型之上构建了消息模型 ,业务可以只需要关心消息而无需关心队列, 基于消息消费模型,客户端、连接和消费都是无状态的, 可在任意 Proxy 节点上飘移,真正做到轻量化。

2023 年,全系列产品 Serverless 化,面向企业提供极速弹性、更高性价比的云消息队列产品,帮助企业在消息队列使用上降本。

面向应用、数据集成的可靠消息通道

图片

回顾过去十余年,消息产品始终坚持开源、集团、商业三位一体的发展思路,内核演进和产品共同迭代。十年来,在阿里云上累计服务了 10 万企业,覆盖互联网、零售、金融、汽车等 20 多个行业,大规模的生产实践持续积累产品的核心优势。同时,面向企业诉求,丰富产品矩阵,覆盖多样化的业务场景需要。为企业上云提供更精准的产品选型。

  • RocketMQ 在微服务、应用领域以其 4 个 9 的可用性,9 个 9 的数据可靠性被广泛应用。同时,RocketMQ 提供了定时,顺序,事务多样性的消息类型,满足应用复杂业务需求;
  • RabbitMQ 同样也是 messaging 的开源生态代表。商业化的 RabbitMQ 解决了开源 RabbitMQ 无法灵活扩缩容、脑裂、堆积等痛点问题,支持开源 RabbitMQ 无缝迁移到云上;
  • Kafka是流式存储的代表,被广泛应用于大数据/日志处理场景,商业化版本兼容开源 3.3 之前的版本,并在存算分离,高可用容灾,弹性上做深、做强,相比开源自建成本更低,服务可用性更高;
  • MQTT 在物联网/移动互联网的终端场景,提供了千万链接,百万并发的服务,相比开源版本加强了 MQTT 服务的后端生态建设,让数据链路可延续。
  • MNS 是一款对标 AWS SQS/SNS 的消息产品,以轻量的消息队列支持简单的业务异步通信场景,提供轻量化的事件通知和 SaaS 集成能力。

无论是开源迁移上云,还是新业务构建,在 ApsaraMQ 产品系列中,总能找到一款适合业务场景的可靠的消息中间件。近年,阿里云消息团队在存算分离、多级存储和弹性上重点投入,进行架构升级,使消息产品从云原生走向 Serverless。

云产品从云原生走向 Serverless

图片

云原生的本质是充分释放云计算的红利,实现企业业务的降本增效。在云原生阶段,云厂商提供全托管的中间件服务,在开源兼容的同时,补充运维及可视化的用户界面,达到开箱即用的效果,此时商业化形态多数以资源预留的包年包月方式面向企业收费。

随着云上资源规模的不断扩大,规模效应允许企业按照使用量付费,但对于单实例仍有规模限制,比较难应对业务突发流量。

随着云原生的发展,Serverless 的思想不断被加强,产品 Serverless 化的实现也不断的被赋能。Serverless 已经到了落地的阶段。企业只需聚焦在自身业务逻辑,对资源的使用和业务的流量无感。

面向 Serverless 设计的云消息服务

站在用户的视角,消息的 Serverless 化从成本、易使用、稳定性、生态集成几个方面持续演进:

图片

低成本:

  1. 架构解耦,将网络、计算和存储分离,提升自身计算能力的同时,充分利用云原生网络和存储的弹性能力;
  2. 提升产品性能,降低产品自身资源使用成本,同时,建设 SRE 平台,实现自动化交付、升级、扩容,降低交付成本与运维成本;
  3. 优化计费方式,计费项(消息量,存储,网络)解耦,做到计费项按实际资源的使用量付费,降低以往固定计费项造成预估过量的浪费。

易使用: 主要考虑迁移上云方便,可靠,无损以及迁移后的控制面,提供对业务有价值的数据,不仅帮助企业观测云产品的使用,同时,对于业务的优化能够提供参考依据。

稳定性:

稳定性是企业使用云产品的基础考量,云产品运行稳定,过程可监测,应急有预案是业务持续性的重要保障。

生态集成:

丰富的消息产品生态,能够帮助企业快速完成业务的开发,放大消息的价值。

ApsaraMQ 核心产品升级

图片

ApsaraMQ 全系列产品发布 Serverless 版,RocketMQ、RabbitMQ、MQTT Serverless 版实例 0 门槛,按实际使用量进行收费。计算成本最高可降低 75% 左右,并发流量可达秒级万 QPS 自适应弹性,在存算分离、多级存储架构之后,消息存储成本最高可降低 1/3。

Kafka 在十月底发布了 3.0 版本,计算节点无状态,存储及数据可用性下沉至云存储基础设施,解决了单盘吞吐能力受限、存算比例绑定、扩缩容数据迁移影响业务和跨可用区高可用性能等问题。单实例流量可达秒级 GB 自适应弹性。对比开源自建,成本最高降低 20%。

存算分离是消息服务 Serverless 化的基础

图片

和应用解耦一样,在技术上,计算和存储分开,计算层才能更专注于业务逻辑的定义和演进。才能更好的实现按量使用,按需自适应弹性。

系统架构中,元数据(用户实例关系、订阅关系、参数配置等)统一管理;业务消息数据完全由基础存储设施做专业的存储保障,真正的做到计算层无状态。

计算层将复杂的数据可靠性机制下沉到存储层:

  1. 降低计算层的复杂逻辑,如数据复制成本,提升了性能和稳定性;

  2. 降低了跨AZ网络数据传输的影响,同时,降低网络吞吐以避免网络拥塞;

  3. 降低扩容、缩容时数据复制带来的资源开销和业务影响,提升了服务的可用性。

存储层,充分利用阿里云基础能力。

盘古 DFS 使用多副本以及 EC 等策略来保证数据极高的可靠性。将数据打散到不同的 rack 上,当某一台廉价的服务器发生故障时,仍然能够快速地恢复出数据的副本以保证数据安全,这种可靠性保证为有把握对上层承诺数据不丢失提供了稳固的基石,使得消息数据更加可靠,数据更加安全。盘古 DFS 支持跨数据中心的容灾策略,百微秒级平均延迟、毫秒级长尾延迟以及单存储节点打满 200Gbps 网络的 IOPS 处理能力,同时数据可靠性达到 12 个 9,可用性高达 5 个 9。

计算能力秒级弹性,降低闲置成本

消息的流量图基本是潮汐型,或潮汐型伴随着高毛刺。自建使用者以及云产品过去基本可以概括为资源预留型。

使用者用一批固定的资源,支持业务的流量。当出现核心业务流量高峰时,富裕的使用者有预留或提前增加机器以缓解毛刺流量,不富裕的使用者限制非核心业务流量。但给使用者带来了评估难,成本浪费的问题。

图片

在 Serverless 架构版本中,将网络、计算和存储分离,网络和存储交由基础产品提供自适应弹性的能力,按量付费。

计算层在资源弹性的方式外,增加了基于实例以往业务流量指标、集群水位指标的智能化预弹方式。同时也增加了实例流量跨集群调度的方式。尽可能的缩短业务流量被限制的时间,达到快速支持毛刺流量的目标。

多级存储实现按需存储,大容量,低成本

消息是一个中间态数据,理论上消息快速被生产,快速被消费,数据在内存中流转速度是最快的。但实际生产中,我们可能面临着消息不能被及时消费,或消息需要被重新消费的场景。

图片

在这些场景下,这些数据往往不在 PageCache 中,需要从磁盘读取并加载到 PageCache,当冷读较多时 PageCache 竞争激烈,频繁的换入换出导致缓存污染,严重影响写入性能。此外,处理生产和消费请求的同一线程池可能会受到冷读阻塞的影响,导致所有请求无法及时处理出现故障。为缓解此问题,通过"冷热数据隔离"、冷热线程(协程)分离和预加载等策略进行优化,消息生产不受影响,服务更稳定。

引入廉价的多级存储,降低了消息存储成本;同时,又可以延长数据保存时间。

可靠的 SLA 保障是服务稳定的基础

在一系列的架构演进的基础上,产品的可用性在技术实现得到了保障,单节点或可用区故障不影响服务的可用,同时单节点故障也可以利用容器的特性,快速自愈。服务可用性上最高可达 4 个 9,数据可靠性上最高可达 9 个 9;

图片

在运行时稳定性保障上,理论与实践相结合,通过 SRE 平台,实现黑盒探测及指标监控相结合,覆盖 50 多项检测指标,可以做到全天 24 小时检测覆盖,异常分钟内被告警,服务 SLO 可观测。对于异常告警的每一项,都有对应的可操作应急预案。

MQ User Plane 全面升级

图片

此外,产品体验也得到了提升,统一 ApsaraMQ 全系列产品面向用户的看版,基于 Metric 指标、消息轨迹、关键事件和业务日志,面向业务开发和运维人员提供告警,巡检诊断;基于专家经验,定义事件模型,给出根因分析,帮助企业快速排查和解决业务问题。

面向架构师,在接入前的评估,提供产品能力一键体验,成本估算的能力,方便分析师从体验中快速了解产品;统一消息系列产品生态,以消息流入、流出的能力快速实现数据集成。

可视化平滑迁移上云,风险小,成本低

迁移上云阶段,提供了可视化的迁移工具,保障上云平滑、无损的完成迁移。

图片

丰富的消息生态助力企业快速构建应用

上云后,消息提供了丰富的生态,助力企业快速构建应用。

图片

以 EventBridge /函数计算/云工作流 为核心,构建云集成范式,增强云产品间可联通性;EventBridge 在云产品事件集成方面,目前已经集成 200+ 云产品事件源,3000 多种事件类型。

在 SaaS 应用集成方面,包括钉钉、聚石塔以及云上 50 多个 SaaS 服务都可以通过 webhook 方式连接到 EB。

除此之外,目前 EB 已经对接了阿里云全量的云产品 API,任何一个事件都可以通过云产品 API 的方式进行触达。

云工作流提供可视化流程编排,完整的API对接,无需编写代码即可编排 EventBridge 的云服务;函数计算提升集成体验,基于 EventBridge 可以完成消息数据到大数据存储的分析场景等。

Confluent 成为背靠背的技术合作伙伴

10 月 31 日,杭州云栖大会上,阿里云云原生应用平台负责人丁宇宣布,Confluent 成为阿里云技术合作伙伴,合作全新升级,一起拓展和服务亚太市场。 本次合作伙伴签约,阿里云与 Confluent 将进一步加深合作,Confluent 将作为阿里云一方产品,在阿里云国内站,国际亚太站点全面发布,在阿里云 Apsara for Kafka下推出Confluent 规格,全面支持 Confluent 的商业化能力及解决方案。通过与 Confluent团队联合提供的技术支持,国内企业将在阿里云上使用 Confluent 服务。

图片点击阅读原文,ApsaraMQ Serverless 资源包抢先了解!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/296525.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Image图片组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Image图片组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Image组件 Image 用来加载并显示图片的基础组件,它支持从内存、本…

Anchor-based目标检测算法

Anchor-based目标检测算法是一类利用预定义锚框(anchor boxes)进行目标检测的算法。这些锚框在图像中覆盖不同尺度和宽高比例的区域,用于生成候选目标框。以下是一些主要的anchor-based目标检测算法: Faster R-CNN (Region-based…

Android UID相关知识

一、UID/PID/GID/GIDS的含义和作用 UID : android中uid用于标识一个应用程序,uid在应用安装时被分配,并且在应用存在于手机上期间,都不会改变。一个应用程序只能有一个uid,多个应用可以使用sharedUserId 方式共享同一个uid&#…

基于Java (spring-boot)的在线考试管理系统

一、项目介绍 系统功能说明 1、系统共有管理员、老师、学生三个角色,管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管理、学生管理四个模块。 3、学生可以参与考试、查看成绩、试题练习、留言等功能 二、作品包含 三、项目技术 后端语言&…

深度学习(八):bert理解之transformer

1.主要结构 transformer 是一种深度学习模型,主要用于处理序列数据,如自然语言处理任务。它在 2017 年由 Vaswani 等人在论文 “Attention is All You Need” 中提出。 Transformer 的主要特点是它完全放弃了传统的循环神经网络(RNN&#x…

nodejs+vue+ElementUi大学新生入学系统的设计与实现1hme0

采用B/S模式架构系统,开发简单,只需要连接网络即可登录本系统,不需要安装任何客户端。开发工具采用VSCode,前端采用VueElementUI,后端采用Node.js,数据库采用MySQL。 涉及的技术栈 1) 前台页面…

使用keytool查看Android APK签名

文章目录 一、找到JDK位置二、使用方法2.1 打开windows命令行工具2.2 查看签名 三、如何给APK做系统签名呢? 一、找到JDK位置 安卓AS之后,可选择继续安装JDK,如本文使用amazon版本默认位置:C:\Users\66176.jdks\corretto-1.8.0_342可通过自…

AWD认识和赛前准备

AWD介绍 AWD: Attack With Defence, 北赛中每个队伍维护多台服务器,服务器中存在多个漏洞,利 用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分。 一般分配Web服务器,服务器(多数为Linux)某处存在flag(一般在根目录下)&am…

RT-Thread启动过程

RT-Thread启动流程 一般了解一份代码大多从启动部分开始,同样这里也采用这种方式,先寻找启动的源头。 RT-Thread支持多种平台和多种编译器,而rtthread_startup()函数是RT-Thread规定的统一启动入口。 一般执行顺序是:系统先从启…

LVM-系统

# Linux常见的文件系统:ext4,xfs,vfat(linux和window都能够识别) mkfs.ext4 /dev/sdb1 # 格式化为ext4文件系统 mkfs.xfs /dev/sdb2 # 格式化为xfs文件系统 mkfs.vfat /dev/sdb1 # 格式化为vfat文件系统 mksw…

带您了解目前AI在测试领域能够解决的那些问题

AI在测试领域主要应用场景 话不多说,直接给结论: 接口测试脚本的自动生成和校验(依赖研发ai工具)测试用例的自动生成UI自动化测试脚本的自动生成和校验测试文档的自动生成快速了解初涉的业务领域 关于ai对研发和测试的整体影响…

MFC 视图窗口

目录 视图窗口概述 视图窗口的使用 视图窗口创建流程 命令消息 WM_COMMAND 处理顺序 对象关系 视图窗口概述 作用:提供了一个用于显示数据的窗口 关于视图窗口 视图类是用来展示用户,文档类是用来存储和管理数据视图窗口是覆盖掉框架窗口的客户区…