《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 《阿里云认证的解析与实战-云计算ACP认证》——云计算ACP训练营第4天——二、弹性伸缩AS

1. 背景

 

场景1:某视频公司,春晚或每周五热门节目来临时,如临大敌,需要按负载自动弹性伸缩。

场景2:某视频直播公司,无法预估业务负载情况,需要根据CPU利用率、Load、带宽利用率,自动弹性伸缩。

场景3:某游戏公司,每天中午12点,每天晚上6点-9点,需要定时扩容。

 

image.png

基于以上问题,在不使用弹性伸缩时,一般会有两种解决方式:

 

image.png

 

1) 超配资源:根据业务需求最高点峰值配置资源,这种方式解决了资源不够的情况,但也造成了资源的浪费。

2) 人工伸缩:以人工操作增减资源,但由于人工操作有滞后的情况,在某些时间点业务负载高于资源配置,会造成系统不稳定。

 

因此,需要一种系统自动伸缩的方式来配置资源,满足业务需求的变化。

 

2. AutoScaling(AS)介绍

 

1) 什么是弹性伸缩AS(AutoScaling)

 

弹性伸缩(AutoScaling,简称AS)是一种服务,可以自动调整弹性计算资源(ECS),以满足业务需求的变化。

 

应用场景:弹性扩张、弹性收缩、弹性自愈(即健康检查)。

 image.png

 弹性扩张                                                 弹性自愈

2) 工作原理

 

image.png 

弹性伸缩工作原理

 

弹性伸缩本质上是一组ECS实例集合,它可以根据用户指定的扩缩容策略(比如基于某些监控指标),在业务非高峰时,自动完成实例的创建;在业务低谷时,自动释放多余实例,最终实现业务的高可用。

 

工作原理解析

 

如果某Web应用使用ECS实例处理业务请求,系统架构分为三层(如上图右侧虚线框)。其中,最上层的负载均衡,负责将客户端的请求转发给伸缩组内的ECS实例;中间层的伸缩组内的ECS实例,负责处理客户端请求;最下层的RDS数据库,负责存储来自ECS实例的业务数据。

 

通过弹性伸缩调整中间层ECS实例数量,从而自动调整业务请求能力,具体流程如下:

 

a) 弹性伸缩在符合各种任务模式下自动伸缩触发任务:

 

定时任务:创建定时任务,在指定时间执行指定伸缩规则。

自定义任务:手动进行弹性伸缩,包括手动执行伸缩规则,或者手动添加、移出或者删除已有的ECS实例。

健康检查任务:如果在伸缩组开启健康检查功能,伸缩组会定期检查ECS实例的运行状态,如果发现一台ECS实例未处于运行中状态,则判定该ECS实例为不健康实例并移出。

云监控任务:基于云监控性能指标(例如CPU使用率)创建报警任务,比如例如伸缩组内所有ECS实例的CPU平均值大于80%时触发报警。

 

b) 通过ExecuteScalingRule接口触发伸缩规则。

c) 创建伸缩活动:根据需要增加的ECS实例数量、实例配置信息、需要配置的负载均衡实例和RDS实例创建伸缩活动。

d) 在伸缩活动中,自动创建实例并配置负载均衡和RDS

e) 启动伸缩组的冷却功能,待冷却时间完成后,该伸缩组才能接收新的执行伸缩规则请求。

 

注意

冷却时间只适用于云监控的动态模式,其他模式不受影响。

 

3) AutoScaling的组成

 

伸缩组:具有相同应用场景的ECS的集合。定义组内ECS实例数的最大值、最小值及其相关联的SLB和RDS。

伸缩配置:用于弹性伸缩的ECS的配置。

伸缩规则:具体的扩展或收缩操作,例如加入或移出N个ECS实例。

触发任务:定时任务,报警任务。

伸缩活动:伸缩规则成功触发后,就会产生一条伸缩活动。

 

3. AutoScaling配置流程

 

1) 创建伸缩组

2) 创建伸缩配置

3) 启用伸缩组

4) 创建伸缩规则

5) 创建定时任务

6) 创建报警任务

 

4. 最佳实践:多种伸缩模式结合

 

各种伸缩模式无排他性,可以组合使用。

 

image.png 

 

5. 应用场景

 

场景1:高弹性web应用服务

 

业务类型

 

如果弹性Web应用服务存在明显的峰谷变化(比如视频应用每天晚上9点到12点之间访问量会突增),无需提前准备大量云服务器,只需通过配置弹性伸缩组及合适的伸缩策略,系统能根据设置的伸缩策略自动地调整(增加或减少)云服务器资源的数量,在确保Web应用稳定提供服务的同时,大大降低系统稳定行的成本。

image.png

 

场景2:高可用计算集群部署

 

业务类型

 

如果使用云服务器作为分布式大数据的计算节点,或服务检索服务器的后端计算集群,该计算集群需要具备高可用性,且能随着负载的变化动态调整的能力。只需通过配置弹性伸缩的动态伸缩模式,系统会根据指定指标(比如CPU使用率)的阈值自动地增加或减少云服务器的数量;同时,系统还会自动检测云服务器的健康状态,将不健康的实例移除,并启用新实例,确保该集群的高可用性。

 

image.png

相关文章
|
22天前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
22天前
|
自然语言处理 编译器 Linux
|
30天前
|
机器学习/深度学习 弹性计算 运维
云计算系列之阿里云ECS服务器管理实战
本文档介绍了阿里云ECS(Elastic Compute Service)的基本概念、实例管理、磁盘操作、快照与镜像功能及其应用场景,最后通过具体案例解析ECS的实际应用。ECS是阿里云提供的高效、可靠的云计算服务,支持多种业务需求,如Web应用、高并发网站、数据库等,帮助企业快速构建稳定安全的应用,提升运维效率,降低IT成本。文档还详细说明了ECS实例的创建方式、连接方法及日常管理操作,帮助用户更好地利用ECS服务。
63 2
云计算系列之阿里云ECS服务器管理实战
|
11天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
45 3
|
13天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
27天前
|
Prometheus 监控 Cloud Native
实战经验:成功的DevOps实施案例解析
实战经验:成功的DevOps实施案例解析
40 6
|
24天前
|
UED
<大厂实战经验> Flutter&鸿蒙next 中使用 initState 和 mounted 处理异步请求的详细解析
在 Flutter 开发中,处理异步请求是常见需求。本文详细介绍了如何在 `initState` 中触发异步请求,并使用 `mounted` 属性确保在适当时机更新 UI。通过示例代码,展示了如何安全地进行异步操作和处理异常,避免在组件卸载后更新 UI 的问题。希望本文能帮助你更好地理解和应用 Flutter 中的异步处理。
64 3
|
24天前
|
JavaScript API 开发工具
<大厂实战场景> ~ Flutter&鸿蒙next 解析后端返回的 HTML 数据详解
本文介绍了如何在 Flutter 中解析后端返回的 HTML 数据。首先解释了 HTML 解析的概念,然后详细介绍了使用 `http` 和 `html` 库的步骤,包括添加依赖、获取 HTML 数据、解析 HTML 内容和在 Flutter UI 中显示解析结果。通过具体的代码示例,展示了如何从 URL 获取 HTML 并提取特定信息,如链接列表。希望本文能帮助你在 Flutter 应用中更好地处理 HTML 数据。
103 1
|
26天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
69 3
|
28天前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
下一篇
无影云桌面