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.mzph.cn/news/241969.shtml

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

相关文章

【Linux系统基础】(4)在Linux上部署Tomcat、Nginx软件

Tomcat安装部署【简单】 简介 Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说,Tomcat是一个W…

锐捷ssh配置

配置实例 ssh-Server ssh-Server(config)#enable service ssh-server // 启用ssh服务 ssh-Server(config)#username admin privilege 15 password Test123456 // 设置ssh登陆的账户密码 ssh-Server(config)#line vty 0 4 ssh-Server(config-line)#transport input ssh …

线性回归简介

线性回归简介 1、情景描述2、线性回归 1、情景描述 假设,我们现在有这么一张图: 其中,横坐标x表示房子的面积,纵坐标y表示房价。我们猜想x与y之间存在线性关系: y k x b ykxb ykxb 现在,思考一个问题&…

纯HTML代码实现给图片增加水印并下载保存到本地

<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1, maximum-scale1, user-scalableno"/><title>图片水印打码工具-宋佳乐博客</tit…

计算机图形学理论(3):着色器编程

本系列根据国外一个图形小哥的讲解为本&#xff0c;整合互联网的一些资料&#xff0c;结合自己的一些理解。 CPU vs GPU CPU支持&#xff1a; 快速缓存分支适应性高性能 GPU支持&#xff1a; 多个 ALU快速板载内存并行任务的高吞吐量&#xff08;在每个片段、顶点上执行着色…

nn.Embedding()个人记录

维度 import torch.nn as nnembedding nn.Embedding(num_embeddings 10, embedding_dim 256) nn.Embedding()随机产生一个权重矩阵weight&#xff0c;维度为&#xff08;num_embeddings, embedding_dim&#xff09; 输入维度&#xff08;batch_size, Seq_len&#xff09…

基于Java+SpringBoot+MyBatis-plus+Vue前后端分离小区管理系统设计与实现2.0

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

力扣日记12.24-【二叉树篇】236. 二叉树的最近公共祖先

力扣日记&#xff1a;【二叉树篇】236. 二叉树的最近公共祖先 日期&#xff1a;2023.12.24 参考&#xff1a;代码随想录、力扣 ps&#xff1a;提前祝 平安夜快乐&#xff01; 236. 二叉树的最近公共祖先 题目描述 难度&#xff1a;中等 给定一个二叉树, 找到该树中两个指定节点…

Python连接数据库

文章目录 一、安装mysql二、SQLyog可视化操作三、python实现数据库单表类封装1. config 文件——config.py2. 封装类&#xff08;model&#xff09;——model.py3. 测试文件——test.py 一、安装mysql 官网安装&#xff0c;或者Windows64位直接在我的资源里面上传了mysql&…

C/C++ 基础函数

memcpy&#xff1a;C/C语言中的一个用于内存复制的函数&#xff0c;声明在 string.h 中&#xff08;C是 cstring&#xff09; void *memcpy(void *destin, void *source, unsigned n);作用是&#xff1a;以source指向的地址为起点&#xff0c;将连续的n个字节数据&#xff0c;…

HarmonyOS - 鸿蒙开发入门

文章目录 HarmonyOS核心资源特性&#xff1a;全场景终端HarmonyOS 版本 HarmonyOS 和 OpenHarmony教程资源开发环境开发工具 - DevEco开发语言 - ArkTS核心框架 - ArkUI 考证 HarmonyOS 开发交流秋秋群&#xff1a;23458659&#xff0c;V : ez-code&#xff0c;期待交流和合作 …

前端基础location的使用

概念 获取当前页面的地址信息&#xff0c;还可以修改某些属性&#xff0c;实现页面跳转和刷新等。 样例展示 window.location 含义.originURL 基础地址&#xff0c;包括协议名、域名和端口号.protocol协议 (http: 或 https:).host域名端口号.hostname域名.port端口号.pathname路…

自学SLAM(9)《第五讲:特征点法视觉里程计》作业

文章目录 1.ORB特征点1.1 ORB提取1.2 ORB描述1.3 暴力匹配1.4 最后&#xff0c;请结合实验&#xff0c;回答下⾯⼏个问题 2.从 E 恢复 R&#xff0c;t3.用 G-N 实现 Bundle Adjustment4.* 用 ICP 实现轨迹对齐 1.ORB特征点 1.1 ORB提取 ORB(Oriented FAST and BRIEF) 特征是 S…

计算机视觉基础(10)——深度学习与图像分类

前言 传统视觉算法采用手工设计特征与浅层模型&#xff0c;而手工设计特征依赖于专业知识&#xff0c;且泛化能力差。深度学习的出现改变了这一状况&#xff0c;为视觉问题提供了端到端的解决方案。在之前的课程中&#xff0c;我们已经学习了图像分类的传统知识。在本节课中&am…

c语言:求1/2+2/3+3/4+……n-1/n的和|练习题

一、题目 求1/22/33/4……n-1/n的和 如图&#xff1a; 二、思路分析 1、1/2、2/3、3/4……可以用(i/i1) 2、设置一个函数&#xff0c;求数的相加之和 三、代码截图【带注释】 四、源代码【带注释】 #include <stdio.h> int main() { int num; printf("输入…

javassmmysql医院线上线下全诊疗系统的设计与实现02210-计算机毕业设计项目选题推荐(免费领源码)

目 录 摘要 1 绪论 1.1背景及意义 1.2研究现状 1.3ssm框架介绍 1.4论文结构与章节安排 2 医院线上线下全诊疗系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分…

Git常用命令及解释说明

目录 前言1 git config2 git init3 git status4 git add5 git commit6 git reflog7 git log8 git reset结语 前言 Git是一种分布式版本控制系统&#xff0c;广泛用于协作开发和管理项目代码。了解并熟练使用Git的常用命令对于有效地管理项目版本和历史记录至关重要。下面是一些…

springcloud-gateway-2-鉴权

目录 一、跨域安全设置 二、GlobalFilter实现全局的过滤与拦截。 三、GatewayFilter单个服务过滤器 1、原理-官方内置过滤器 2、自定义过滤器-TokenAuthGatewayFilterFactory 3、完善TokenAuthGatewayFilterFactory的功能 4、每一个服务编写一个或多个过滤器&#xff0c…

关于“Python”的核心知识点整理大全39

目录 ​编辑 14.1.5 将 Play 按钮切换到非活动状态 game_functions.py 14.1.6 隐藏光标 game_functions.py game_functions.py 14.2 提高等级 14.2.1 修改速度设置 settings.py settings.py settings.py game_functions.py 14.2.2 重置速度 game_functions.py 1…

饥荒Mod 开发(二一):超大便携背包,超大物品栏,永久保鲜

饥荒Mod 开发(二十)&#xff1a;显示打怪伤害值 源码 游戏中的物品栏容量实在太小了&#xff0c;虽然可以放在箱子里面但是真的很不方便&#xff0c;外出一趟不容易看到东西都不能捡。实在是虐心。 游戏中的食物还有变质机制&#xff0c;时间长了就不能吃了&#xff0c;玩这个游…