MSE Serverless 正式商用,构建低成本高弹性的微服务架构

作者:问思

微服务架构充分提升了研发效率,解决了复杂业务系统的快速迭代问题。但随着业务及技术演进,各种微服务组件也愈发复杂。如何实现更敏捷的开发,降低微服务开发运维成本,做到全链路的弹性,保障整个系统的稳定性,依然存在诸多挑战。

比如多个开发团队在缺乏统一规范或协同的情况下,会出现微服务组件、SDK 版本不一致的情况,但考虑到版本兼容性、升级影响范围等因素,不少用户不敢升级而埋下隐患。在做容量规划的时候,用户很难根据业务量评估合适的资源需求,采用大规格实例则成本过高,用小规格遇到突发流量又会影响稳定性。如果业务是由 ISV 开发,项目交付验收完成之后,一些基础组件的运维责任不明晰,如果缺少专业的巡检和监控告警机制,极易引发线上故障。

微服务 Serverless 趋势

作为微服务架构演进的一大趋势,Serverless 技术可以最大化技术红利和资源利用率,解决上述问题。它让开发者专注业务实现,而不必关心底层的服务器在哪,资源是否充足,什么时候该扩缩容或升级。

在研发协作和迭代效率方面,微服务本身是高内聚,可复用的,加上 Serverless 基础设施,可以升级成组装式研发。同时用户可以利用微服务治理的全链路流量控制能力,快速搭建逻辑隔离的日常环境,在节约资源成本的同时,将开发测试环境的构建时间从数天降低到分钟级别,极大解放开发者的生产力。对于网关、注册配置中心、MQ、数据库、Redis 缓存这些基础组件,如果通过资源冗余来保障其稳定性,显然不够经济。

通过 Serverless 云产品就可以快速实现全链路的资源弹性,并享受自动升级等免运维的能力。这些基础组件都通过 Backend as a Service 的方式提供,开发者不需要陷入复杂的配置集成工作中,而是聚焦在开发任务。对于业务方来说,即使 ISV 交付完项目撤出以后,也不用担心基础组件的运维、技术兜底和稳定性保障。

图片

MSE Serverless 功能

正是顺应这种技术趋势,阿里云 MSE 在微服务业界率先推出了 Serverless 版。它有三大功能亮点,第一是自适应弹性, 云原生网关和注册配置中心可以根据业务量自动地进行扩缩容,免去用户复杂的容量规划工作。对于注册配置中心来说,其资源消耗和多个因素相关,比如服务提供者数量、客户端连接数、TPS 等。但有些指标很难进行观测和提前规划。网关作为关键的流量入口,虽然可以预测日常业务流量,但很难判断计划外流量。通过云服务的自适应弹性,可以保证整个技术架构的稳定性及成本的可控。

第二点是开箱即用免运维, 大大减轻用户的运维负担。MSE 将注册配置中心、云原生网关以及服务治理的关键事件,比如实例变更、节点启停、应用上下线、限流熔断等汇总成统一视图,便于问题的分析和排查。MSE Serverless 实例会在用户自定义的运维时间段,执行前置检查和自动升级。既保障组件处于最新的稳定版本,又能解除用户对于兼容性或者业务流量影响的担忧。另外很多用户缺乏配置告警规则的意识或经验,MSE Serverless 实例也支持默认告警配置,当一些严重事件发生的时候,尽早通知到用户,及时介入。

最后也是最重要的一点,MSE Serverless 的计费方式跟业务量关联起来,门槛更低。 普通实例按照固定规格收费,对于创业初期的小规模业务,或者业务低峰时段,实际会有资源的浪费。MSE 注册配置中心 Serverless 按照客户端连接数计费,云原生网关 Serverless 按请求量计费,对于测试环境、潮汐式业务、中小规模业务,都会节省大量成本。

图片

构建高弹性的微服务架构

用户如果要自行构建一个全栈、高弹性的微服务架构,需要去权衡各个组件扩缩容的难易度,伸缩速度以及业务负载变化速率这些因素。如果基于 MSE Serverless 版,再结合阿里云其他云产品能力,可以轻松实现上述目标。如下图所示,用户业务流量经由 NLB 进入到云原生网关 Serverless 实例,并路由到部署在 ACK 或 SAE 上的应用,整条链路上的产品都具备自适应弹性能力。

当应用副本数随着业务流量增大,其访问注册配置中心的连接数及 TPS 也会随之升高,Nacos、ZooKeeper Serverless 实例也会进行相应的弹性伸缩。对于服务治理来说,它本身就是应用级的按需接入,当SAE 或者 ACK 上的某个应用开启服务治理以后,扩容出的应用副本也自动享受到服务治理能力。现在阿里云已经有二十多款 Serverless 产品,并且会继续推进核心产品全面的 Serverless 化。通过 Serverless 云服务,用户可构建整体高弹性、低成本的微服务架构。

图片

下面通过一个测试用例可以展示云原生网关 Serverless 实例如何与 ACK 容器集群配合,利用日志记录中的 QPS 指标和容器 HPA 机制,实现根据请求量进行整体扩容。

针对部署在容器集群的应用负载,我们创建一个 HPA 资源,设定最小和最大副本数,定义 QPS 为指标,每个副本的平均 QPS 达到 50 则触发扩容。

图片

运行压测工具 10 分钟,发送到网关的请求从 400 TPS 逐级上升到 4000+ TPS。可以看到所有压测请求 100% 成功,而且平均 RT 保持在 9~10 毫秒的水平。实际上,网关服务和容器集群中的应用副本都进行了自动扩容,整个过程对用户完全透明,业务无感知。

图片

MSE Serverless 适用场景

MSE Serverless 虽说有诸多优势,但也要分场景选用,普通实例和 Serverless 实例如何选型?这里我们列出二者的功能及适用场景的异同。在高可用方面,两种实例都支持多节点集群的多可用区部署,只是 SLA 稍有区别。在运维方面,用户需要手动升级普通实例的版本,并关注底层资源监控指标,到阈值时及时手动变配。而Serverless 实例会进行自动升级和弹性扩缩容,用户不需要做复杂的容量规划和手动变配,也不需要关心 CPU、内存等资源的监控和告警。

对于云原生网关,普通实例支持的通信协议和认证鉴权种类稍多,具备硬件加速和可扩展性能力。Serverless 实例也支持了主流协议和认证鉴权方式,能覆盖大部分的用户需求。

综上所述,Serverless 实例更多是面向中小规模业务,间歇潮汐型场景,测试环境。而且用户希望免运维,更简单地使用后端服务。普通实例面向的是中大规模业务,希望掌控部分运维工作,并有更多自主性,扩展性需求的用户。

图片

图片

MSE Serverless 如何降本

用户无论是自建还是使用普通实例,一般会根据高业务负载购买相关的规格,按固定资源付费。这样在波谷期浪费的资源较多,整体成本较高。如果出现预期外的大业务流量,资源不足会使业务受损。Serverless 实例能进行快速且独立的扩容和缩容,在快速响应业务变化的同时,合理优化使用成本,助力企业降本增效。

图片

注册配置中心 Serverless 实例按照客户端到服务端的连接总数计费,每十个连接为一个计费单位,阶梯定价,小时计费,具体价格如下图表格所示。假设用户的业务量平稳,如折线图所示,橙线代表 Serverless 实例月价,蓝线代表普通实例的专业版集群月价。当小时连接数一直在十个或十个以内,Serverless 实例的月费用是 115 元。即使到了 50 个连接的业务量,都要比 Nacos 或 ZooKeeper 开源自建成本更低。在 100 个连接以内,Serverless 实例费用比普通实例更低,所以对于中小规模业务更优。

图片

云原生网关 Serverless 实例统计每小时处理请求量,每 1 万个请求为一个计费单位,阶梯定价,小时计费,具体价格如下图表格所示。假设用户的业务量平稳,如折线图所示,橙线代表 Serverless 实例月价,蓝线代表普通实例集群月价。每小时累计请求在 5 万以内,Serverless 实例相比开源自建成本更低,在 20 万请求以内,比普通实例更低。

上述假设是业务量较小且保持在一定量级,除此之外,Serverless 对于间歇、潮汐式场景,累计费用也更低。如下面的柱状图所示,假设 10 个小时内业务量有较大变化,刚开始每小时请求量为 20 万~30 万,最高峰为每小时 200 万,然后逐渐回落。对于网关这种关键入口,普通实例需要预留资源保证能够支撑 200 万请求量的业务峰值。但对于 Serverless 实例,它的费用随业务量变化而不同。虽然在峰值时段 Serverless 实例的小时费用更高,但整个时段的费用累加后,明显看出它的成本更优。

图片

MSE Serverless 版已于 11 月 17 日正式商业化,并推出相应的节省计划,用户可以根据注册配置中心和云原生网关 Serverless 实例每天的费用,按天承诺一定的消费金额进行预付费,可享受 8 折到 95 折不等的抵扣优惠,可进一步降低用户的长期使用成本。不到 100 元的月消费,您即可享用到 K8s Ingress、微服务网关、安全网关三合一的云原生网关,或是稳定安全免运维的注册配置中心,快来构建你的 Serverless 微服务架构吧!

相关链接:

MSE Serverless 实例简介:

https://help.aliyun.com/zh/mse/getting-started/mse-serverless-instance-introduction

注册配置中心实例及版本选型:

https://help.aliyun.com/zh/mse/product-overview/select-an-edition

注册配置中心 Serverless 实例计费概述:

https://help.aliyun.com/zh/mse/product-overview/serverless-instance-billing-overview

云原生网关实例选型:

https://help.aliyun.com/zh/mse/product-overview/select-a-gateway-instance

云原生网关 Serverless 实例计费概述:

https://help.aliyun.com/zh/mse/product-overview/serverless-instance-billing-overview-1

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

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

相关文章

RT-Thread 14. GD32F330RBT6 Keil4移植RT-Thread

1.增加rt-thread-v4.1.0源码 rt-thread-v4.1.0\bsp\gd32350r-eval复制重命名为gd32f330_v1 2.文件组织结构 Usr:存放App任务应用,属于应用层,完全脱离硬件 CMSIS:硬件层,启动文件、系统文件 Driver:硬件外…

【无标题】idea的lombok插件支持@SuperBuilder注解啦

在我的博客阅读本文 1. 前言 今早进公司打开idea,弹出更新提示,简单看了下,原来是idea的lombok插件更新了,惊喜的发现update log上写着Add support for SuperBuilder。 为什么说是惊喜呢?因为之前也有用到这个的场景…

树莓派外设开发综述及WiringPi库安装

树莓派常用的接口 IO: input: output: PWM: IIC spi uart WiringPi库 树莓派一个非常重要的 WiringPi库(Linux下 动态库 ”.so“ 静态库”.a") (是一个特定平台,特…

不慌,新手专属!10款免费画图软件助你轻松入门!

即时设计 即时设计是一种基于云的在线矢量设计工具,是一种免费的绘图软件,专门用于现代UI和UX设计。它极大地简化了矢量图形的编辑,以一种非常直观和易于使用的方式,让设计师专注于他们最擅长的事情:创造优秀的产品。…

java数据结构与算法刷题-----LeetCode70. 爬楼梯

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 很多人觉得动态规划很难,但它就是固定套路而已。其实动态规划只…

巨杉数据库荣登2023胡润全球猎豹企业榜

胡润研究院与广州南沙联合发布《2023胡润全球猎豹企业榜》,这是胡润研究院首次发布“全球猎豹企业”。榜单列出了全球成立于2000年后,五年内最有可能达到独角兽级十亿美金估值的高成长性企业。巨杉数据库凭借在分布式文档型数据库领域的创新突破&#xf…

「HarmonyOS」验证码多TextInput输入框焦点自动跳转问题

需求背景:需要做一个多输入框的验证码模块,输入验证码时输入后光标会自动跳转至下一个输入框,删除验证码时会自动删除上一个输入框内容,并且光标跳转至上一个输入框内。6位验证码全部输完后进行登录请求 具体样式如下图&#xff1…

快速跳闸中间继电器 RXMS1-RK216 066-AD 24V 柜内安装,板后接线带中座

系列型号 RXMS1 RK 216 437快速跳闸继电器;RXMS1 RK 216 237快速跳闸继电器; RXMS1 RK 216 449快速跳闸继电器;RXMS1 RK 216 249快速跳闸继电器; RXMS1 RK 216 450快速跳闸继电器;RXMS1 RK 216 250快速跳闸继电器&…

three.js Raycaster(鼠标点击选中模型)

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div><div class"box-right"…

URLConnection()和openStream()两个方法产生SSRF的原理和修复方法

今年是自主研发的第三个年份&#xff0c;也是重视安全的年份。 转一篇小文章&#xff1a; 0x00 前言 SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定 URL 地址获取网页文本内容&#xff0c;加载指定地址的图…

VR云游开启智慧旅游新纪元,打造“云旅游”新模式

元旦假期&#xff0c;全国文化和旅游市场平稳有序&#xff0c;家人和亲友的出游趋势稳步增加&#xff0c;演唱会、音乐节、跨年等活动的叠加让元旦出游更加吸引游客。在冰雪旅游热度持续攀升的时候&#xff0c;许多年轻群体已经开始使用VR云游进行智慧景区旅游&#xff0c;身临…

项目代码生成心得

1、如果一直ctrl B 生成不了代码&#xff0c;可能是卡住了&#xff0c;要run一下才行 2、sub chart里面千万不要加上内部自转移和en,du:不然里面的内容压根不会生成代码&#xff0c;Matlab认为它可以自己在里面自己转。 3、生成的代码跟设计图是不一样的&#xff01;&#xff…

Databend 的算力可扩展性

作者&#xff1a;尚卓燃&#xff08;PsiACE&#xff09; 澳门科技大学在读硕士&#xff0c;Databend 研发工程师实习生 Apache OpenDAL(Incubating) Committer PsiACE (Chojan Shang) GitHub 对于大规模分布式数据处理系统&#xff0c;为了更好应对数据、流量、和复杂性的增长…

CRYPTO现代密码学学习

CRYPTO现代密码学学习 RC4 加密算法RSA加密解密DES加密解密详解密钥的生成密文的生成 RC4 加密算法 简单介绍&#xff1a;RC4加密算法是一种对称加密算法&#xff0c;加密和解密使用同一个函数 初始化分为以下几个步骤 初始化存储0-255字节的Sbox(其实就是一个数组)填充key到…

爬虫工具(tkinter+scrapy+pyinstaller)

需求介绍输入&#xff1a;关键字文件&#xff0c;每一行数据为一爬取单元。若一行存在多个and关系的关键字 &#xff0c;则用|隔开处理&#xff1a;爬取访问6个网站的推送&#xff0c;获取推送内容的标题&#xff0c;发布时间&#xff0c;来源&#xff0c;正文第一段&#xff0…

excel中找出重复项,并标红

一、查找重复值 二、清除格式 还是通过添加规则的路径&#xff0c;清除格式&#xff0c;直接通过格式刷&#xff0c;刷不掉。

Windows重装升级Win11系统后 恢复Mysql数据

背景 因为之前电脑硬盘出现问题&#xff0c;换了盘重装了系统&#xff0c;项目的数据库全部没了&#xff0c;还好之前的Mysql是安装在的D盘里&#xff0c;还有留存文件 解决办法 1.设置环境变量 我的路径是 D:\SoftWare\Application\mysql-5.7.35-winx64 此电脑右键属性 …

基于SSM实现的社区论坛系统(附PPT、设计文档)

基于SSM实现的社区论坛系统&#xff08;附PPT、设计文档&#xff09; 文章目录 基于SSM实现的社区论坛系统&#xff08;附PPT、设计文档&#xff09;系统介绍技术选型成果展示设计文档用户端管理员端 源码获取账号地址及其他说明 系统介绍 基于SSM实现的社区论坛系统是一款前后…

pycharm远程开发调试(remote development)踩坑记录2

在一次我清理了服务器上一些老的pycharm版本之后 打算重新装3.2版本&#xff0c;就全部给清理了。结果坏了事了&#xff0c;新版的装不上了。 试了公司和中科院的服务器都出现这样的问题&#xff0c;100%复现。md。 一直在这一步循环&#xff1a; Downloading the IDE Backen…

echarts实现控制图(设置阈值上下限超出变色)

echarts实现控制图组件&#xff0c;拓展超出阈值变色显示&#xff0c;图中标记平均值及最大值和最小值 代码如下&#xff1a; <template><div :class"className" :style"{height:height,width:width}" /> </template><script>im…