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

简介: 《阿里云认证的解析与实战-云计算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

相关文章
|
存储 缓存 算法
HashMap深度解析:从原理到实战
HashMap,作为Java集合框架中的一个核心组件,以其高效的键值对存储和检索机制,在软件开发中扮演着举足轻重的角色。作为一名资深的AI工程师,深入理解HashMap的原理、历史、业务场景以及实战应用,对于提升数据处理和算法实现的效率至关重要。本文将通过手绘结构图、流程图,结合Java代码示例,全方位解析HashMap,帮助读者从理论到实践全面掌握这一关键技术。
601 14
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
1114 27
|
存储 安全 虚拟化
全面解析服务器虚拟化:云计算时代的核心技术架构
服务器虚拟化是云计算的核心技术,通过资源池化提升IT效率。本文详解其原理、部署优势及在数字化转型中的关键作用,涵盖技术架构、应用场景与选型指南,助力企业构建高效灵活的云环境。
1140 0
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
978 4
JSON数据解析实战:从嵌套结构到结构化表格
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
964 4
|
物联网 调度 vr&ar
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
鸿蒙技术分享:HarmonyOS Next 深度解析 随着万物互联时代的到来,华为发布的 HarmonyOS Next 在技术架构和生态体验上实现了重大升级。本文从技术架构、生态优势和开发实践三方面深入探讨其特点,并通过跨设备笔记应用实战案例,展示其强大的分布式能力和多设备协作功能。核心亮点包括新一代微内核架构、统一开发语言 ArkTS 和多模态交互支持。开发者可借助 DevEco Studio 4.0 快速上手,体验高效、灵活的开发过程。 239个字符
1525 13
鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战
|
机器学习/深度学习 人工智能 Java
Java机器学习实战:基于DJL框架的手写数字识别全解析
在人工智能蓬勃发展的今天,Python凭借丰富的生态库(如TensorFlow、PyTorch)成为AI开发的首选语言。但Java作为企业级应用的基石,其在生产环境部署、性能优化和工程化方面的优势不容忽视。DJL(Deep Java Library)的出现完美填补了Java在深度学习领域的空白,它提供了一套统一的API,允许开发者无缝对接主流深度学习框架,将AI模型高效部署到Java生态中。本文将通过手写数字识别的完整流程,深入解析DJL框架的核心机制与应用实践。
1077 3
|
自然语言处理 搜索推荐 数据安全/隐私保护
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
鸿蒙登录页面设计展示了 HarmonyOS 5.0(Next)的未来美学理念,结合科技与艺术,为用户带来视觉盛宴。该页面使用 ArkTS 开发,支持个性化定制和无缝智能设备连接。代码解析涵盖了声明式 UI、状态管理、事件处理及路由导航等关键概念,帮助开发者快速上手 HarmonyOS 应用开发。通过这段代码,开发者可以了解如何构建交互式界面并实现跨设备协同工作,推动智能生态的发展。
996 10
鸿蒙登录页面好看的样式设计-HarmonyOS应用开发实战与ArkTS代码解析【HarmonyOS 5.0(Next)】
|
弹性计算 云计算
阿里云认证全新发布【Apsara Clouder云计算专项技能认证:云服务器ECS入门】
阿里云认证全新发布【Apsara Clouder云计算专项技能认证:云服务器ECS入门】
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
651 20

热门文章

最新文章

推荐镜像

更多
  • DNS