Serverless高可用架构评测

简介: 【7月更文第15天】这两天我体验了《Serverless高可用架构》解决方案并进行部署,总体来说Serverless高可用架构跟传统架构对比还是很不错的, Serverless 架构可以实现零代码改造、极简易用、自适应弹性的全托管服务,自动伸缩实例并按使用量计费,同时提供开箱即用的日志、监控、负载均衡等配套能力。

这两天我体验了《Serverless高可用架构》解决方案并进行部署,总体来说Serverless高可用架构跟传统架构对比还是很不错的, Serverless 架构可以实现零代码改造、极简易用、自适应弹性的全托管服务,自动伸缩实例并按使用量计费,同时提供开箱即用的日志、监控、负载均衡等配套能力。
111.jpg
用户访问应用时,DNS会将访问请求解析至应用负载均衡ALB的服务地址。负载均衡作为应用的统一入口,将请求转发至Serverless应用引擎实例上的服务。
在您的业务负载增长时,通过合理的配置,各个系统组件都可以自动弹性伸缩。ALB采用的固定IP模式最大可支持10万QPS,切换为动态IP模型最大可支持100万QPS。Serverless应用引擎支持秒级横向弹性伸缩。云数据库PolarDB MySQL版Serverless集群各节点可实现秒级纵向弹性以及横向只读节点扩展能力。
应用负载均衡ALB、Serverless应用引擎实例、云数据库PolarDB MySQL版Serverless集群都采用双可用区部署,当单可用区故障,可自动迁移使用另一可用区的服务。
222.png
下面我们一起看下部署流程吧:
技术架构包括以下基础设施和云服务:

1个专有网络VPC:为应用型负载均衡ALB、Serverless应用引擎、云数据库PolarDB MySQL版Serverless集群等云资源构建云上私有网络。

5台交换机:按照经典架构设计3个子网平面(公网平面、业务平面、数据平面),分别部署在两个可用区,提供基本的网络分段和隔离功能。ALB横跨两个可用区部署在公网平面,两个Serverless应用引擎实例分别部署在两个可用区的业务平面,一对云数据库PolarDB MySQL版Serverless主备集群分别部署在两个可用区的数据平面。

1个公网应用型负载均衡ALB:将公网访问流量分发到不同的Serverless应用引擎实例。公网ALB通过EIP提供公网服务能力。

2个Serverless应用引擎实例:用于部署业务系统,提供应用服务。

1个云数据库PolarDB MySQL版Serverless集群:为业务系统提供数据服务。

一.部署准备
耗时:10分钟

1.准备账号
如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。

2.为阿里云账号充值。本方案的云资源支持按量付费,且默认设置均采用按量付费引导操作。如果确定任何一个云资源采用按量付费方式部署,账户余额都必须大于等于100元。

二.部署资源:
555.png

1.创建专有网络VPC和交换机
1.1 为了实现高可用,您需要将服务负载和数据库等资源尽可能分布在多个可用区,规避单可用区故障造成的服务不可用。本方案以双可用区为例,因此,您需要创建1个专有网络和5个交换机。PolarDB MySQL版 Serverless集群仅需1.2 要1个交换机,系统自动选择备可用区。
1.3 登录专有网络管理控制台。
1.4 在左侧导航栏,单击专有网络。
1.5 在顶部菜单栏,选择华东1(杭州)地域。
1.6 在专有网络页面,单击创建专有网络。
1.7在创建专有网络页面,配置1个专有网络和5个交换机。配置交换机时,请确保交换机所属的可用区的ALB是可用状态。
2.创建安全组
2.1您已经在1个专有网络VPC下的2个可用区分别创建5台交换机。接下来您需要创建1个跨可用区的安全组,用于限制该专有网络VPC下的5台交换机的网络流入和流出。
2.2登录ECS管理控制台。
2.3在左侧导航栏,选择网络与安全>安全组。
2.4在顶部菜单栏,选择华东1(杭州)地域。
2.5在安全组页面,单击创建安全组。
2.6在创建安全组页面,创建1个安全组。
3.创建云数据库PolarDB MySQL版 Serverless集群
您已经创建了VPC和vSwitch。接下来您需要创建云数据库PolarDB MySQL版 Serverless集群、数据库、数据库账号。您需要记录创建的云数据库 PolarDB MySQL版 Serverless集群的内网连接地址、数据库名称、账号、密码用于之后的配置和使用。

1.创建集群
666.png

a前往PolarDB集群购买页面。
b选择计费类型为Serverless。
c地域选择华东一(杭州)
d创建方式选择创建主集群。
e数据库引擎选择MySQL 8.0.2。
f产品版本选择企业版或标准版。
g选择主可用区。选择刚刚创建的vsw_db_001所在的可用区。
h网络类型选择刚刚创建的VPC和vSwitch。
i选择是否开启热备集群。选择开启。
j如果开启存储热备集群,PolarDB会在当前地域内同时部署主集群(包含互备计算节点+主存储)和存储热备集群,主集群和存储热备集群各保证3副本数据(共6副本数据),具有更高的SLA可靠性保障。
k如果关闭存储热备集群,则仅保留主集群(3副本数据),存储单价是开启存储热备集群单价的1/2。集群的SLA也会降低。
l设置Serverless集群的资源扩缩范围。
m只读节点个数伸缩下限:设置允许只读节点增加的最小数量。取值范围:0~15。为了实现Serverless集群的高可用,建议将只读节点个数伸缩下限设置为1。
n只读节点个数伸缩上限:设置允许只读节点增加的最大数量。只读节点数量会根据业务压力自动增加或减少。取值范围:0~15。
o单节点伸缩下限:设置集群内单节点PCU数量的下限。Serverless形态的PolarDB集群采用PCU(约等于1核2 GB的资源)做秒级计费和扩缩单元,PCU会随着业务负载在指定区间内动态调整。取值范围:1 PCU~31 PCU。
p单节点伸缩上限:设置集群内单节点PCU数量的上限。Serverless形态的PolarDB集群采用PCU(约等于1核2 GB的资源)做秒级计费和扩缩单元,PCU会随着业务负载在指定区间内动态调整。取值范围:1 PCU~32 PCU。
q选择是否开启无活动暂停功能。该功能默认关闭。
r选择存储类型。
PolarDB企业版支持PSL5和PSL4两种存储类型。选择PSL5。
在页面右侧,同意协议,单击立即购买。

4.创建Serverless应用引擎实例
接下来您需要在2个可用区分别创建1个Serverless应用引擎实例,来实现服务跨可用区的高可用。
1登录SAE控制台。
2如果左上角显示体验SAE 2.0,请单击体验SAE 2.0,前往SAE 2.0。如果没有则表示当前是SAE 2.0,无需操作。
333.png
3.在左侧导航栏,单击应用管理 > Web应用,在顶部菜单栏选择地域,然后在应用列表页面,选中始终分配固定CPU页签,单击创建应用。
4.在创建应用页面,完成以下操作。
5.创建负载均衡ALB
接下来您需要创建1个公网类型的应用型负载均衡ALB并配置路由,从而实现这个专有网络VPC下的Serverless应用引擎实例对外的公网访问和流量分发。
1登录应用型负载均衡ALB控制台。
2创建应用型负载均衡ALB实例;

方案验证
一、检查业务可以正常访问

1登录ALB控制台,从实例列表中获取ALB实例的DNS名称。
2通过浏览器访问该DNS名称,检查可以正常访问到示例应用。
444.png

最后总结
1)在体验过程中是否得到足够的引导以及文档帮助?如果没有,还欠缺什么部分?

在体验《卓越效能,极简运维,Serverless高可用架构》解决方案的过程中,我得到了相对充分的引导与文档帮助。大多数关键步骤都有详细的教程和文档支持,特别是关于如何创建Serverless应用引擎实例、配置云数据库PolarDB MySQL版 Serverless集群等核心环节,文档内容详尽且易于理解。然而,对于一些高级配置选项或特定场景的定制化需求,文档可能略显不足。例如,如何在特定网络环境下优化Serverless应用的访问性能、如何根据业务负载动态调整资源配额等高级功能,如果能够提供更多案例分析和最佳实践,将会对用户更加友好。

2)部署过程中的创建云数据库PolarDB MySQL版 Serverless集群和Serverless应用引擎实例是否遇到过哪些报错或异常?

在部署过程中,我并未遇到显著的报错或异常。PolarDB MySQL版 Serverless集群的创建过程非常流畅,系统能够自动根据配置选择最合适的资源进行部署,无需手动干预。Serverless应用引擎实例的部署也同样顺利,通过简单的几步操作就能完成应用的部署和启动。不过,需要注意的是,如果在创建过程中填写的参数不符合要求(如网络配置错误、权限不足等),系统会及时给出错误提示,但部分提示信息可能对于初学者来说略显专业,如果能增加一些通俗易懂的解释或链接到相关帮助文档,将更有助于用户快速定位并解决问题。

3)您认为Serverless高可用架构方案在成本、功能、性能上是否有竞争力?在企业上云过程中,是否推荐团队使用Serverless架构?

Serverless高可用架构方案在成本、功能和性能上均展现出较强的竞争力。从成本角度看,Serverless架构的按需付费模式极大地降低了企业的IT成本,避免了资源的闲置浪费。在功能方面,Serverless架构提供了高度灵活和可扩展的服务,能够轻松应对业务高峰期的流量压力。性能方面,通过云服务商提供的底层优化和自动扩展机制,Serverless应用能够保持稳定的性能输出。因此,在企业上云过程中,我非常推荐团队使用Serverless架构,特别是对于初创企业、中小型企业以及需要快速迭代和响应市场变化的企业来说,Serverless架构能够显著提升开发效率和运维效率。

4)分享您在场景中使用到具体云产品的体验

在体验过程中,我使用了云数据库PolarDB MySQL版 Serverless集群和Serverless应用引擎两款产品。云数据库PolarDB MySQL版 Serverless集群给我留下了深刻的印象,其自动扩展、高可用性和易用性都远超传统数据库解决方案。通过简单的配置就能实现数据库的高可用部署,并且支持秒级扩展,极大地提升了数据库的性能和稳定性。Serverless应用引擎则提供了从代码到服务的全链条支持,简化了应用的部署和运维流程。产品操作配置非常便捷,通过可视化的控制台就能完成大部分操作。同时,产品手册详尽完备,对于初学者来说非常友好。总体而言,这两款产品都很好地满足了我在场景中的需求,为我提供了高效、稳定的云上服务体验。

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
10月前
|
SQL 监控 关系型数据库
MySQL主从复制:构建高可用架构
本文深入解析MySQL主从复制原理与实战配置,涵盖复制架构、监控管理、高可用设计及性能优化,助你构建企业级数据库高可用方案。
|
11月前
|
运维 监控 搜索推荐
MSE ZooKeeper:Flink 高可用架构的企业级选择
本文深入解析了 Apache Flink 架构中 ZooKeeper 的核心作用,包括 Leader 选举、Checkpoint 管理、作业协调及配置管理等关键功能,并结合金融风控与电商推荐等典型场景,分析了 ZooKeeper 在实际应用中的技术实现。
|
9月前
|
运维 监控 安全
公链开发中的高可用架构设计要点
本指南提供公链高可用架构的可复用流程与模板,涵盖目标拆解、先决条件、分步执行、故障排查及验收标准,结合跨链DApp与量化机器人案例,提升落地效率与系统稳定性。
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
534 0
|
10月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
1355 69
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
4078 57
|
12月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
468 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
消息中间件 存储 设计模式
RocketMQ原理—5.高可用+高并发+高性能架构
本文主要从高可用架构、高并发架构、高性能架构三个方面来介绍RocketMQ的原理。
3641 21
RocketMQ原理—5.高可用+高并发+高性能架构
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
575 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化