当前位置:网站首页>Auto Scaling 弹性伸缩(运维释放人力)
Auto Scaling 弹性伸缩(运维释放人力)
2022-08-03 16:16:00 【51CTO】
介绍
什么是 Auto Sacling?
弹性伸缩(Auto Scaling,以下简称AS)是根据用户的业务需求,通过设置伸缩规则来自动增加/缩减业务资源。当业务需求增长时,AS自动为您增加弹性云服务器(ECS)实例或带宽资源,以保证业务能力;当业务需求下降时,AS自动为您缩减弹性云服务器(ECS)实例或带宽资源,以节约成本。AS支持自动调整弹性云服务器和带宽资源。
Auto Sacling的优势?
自动调整资源
弹性伸缩能够实现应用系统自动按需调整资源,即在业务增长时能够实现自动增加实例数量和带宽大小,以满足业务需求,业务下降时能够实现应用系统自动缩容,保障业务平稳运行。
按需调整云服务器资源
向应用系统中添加弹性伸缩,能够实现按需调整资源,即能够实现在业务增长时增加实例,业务下降时减少实例,这样加强了应用系统的成本管理。调整资源主要包括以下几种方式:
动态调整资源
动态调整资源是通过告警策略的触发来调整资源。
计划调整资源
计划调整资源是通过定时策略或周期策略的触发来调整资源。
手工调整资源
通过修改期望实例数或手动移入、移出实例来调整资源。
按需调整带宽资源
弹性伸缩能够实现按需调整带宽,即能够实现在业务增长时扩大带宽,业务下降时减小带宽,加强了应用系统的成本管理。
您可以根据实际情况选择如下伸缩带宽策略来实现按需调整IP带宽:
告警策略
可设置出网流量、出网带宽等告警触发条件,系统检测到触发条件满足时,会自动调整带宽的大小。
定时策略
系统可根据定时策略在固定的时间自动将带宽增大、减小或者调整到固定的值。
周期策略
系统可根据周期策略周期性的调整带宽大小,减少了人工重复设置带宽的工作量。
实例分配在不同区
弹性伸缩尝试在为伸缩组使用的可用区之间均匀分配实例。弹性伸缩通过尝试向实例最少的可用区中移入新实例来实现此目标。
加强成本管理
弹性伸缩能够实现按需使用实例和带宽,并自动调整系统中的资源,节省了资源和人为调整资源带来的损耗,为您最大程度节约了成本。
提高可用性
弹性伸缩可确保应用系统始终拥有合适的容量以满足当前流量需求。
弹性伸缩和负载均衡结合使用
当您在使用弹性伸缩时,业务增长时应用系统自动扩容,业务下降时应用系统自动缩容,在伸缩组添加和删除实例时,须确保所有实例均可分配到应用程序的流量。弹性伸缩和负载均衡结合使用可以解决这个问题。
使用负载均衡后,伸缩组会自动地将加入伸缩组的实例绑定负载均衡监听器。访问流量将通过负载均衡监听器自动分发到伸缩组内的所有实例,提高了应用系统的可用性。若伸缩组中的实例上部署了多个业务,还可以添加多个负载均衡监听器到伸缩组,同时监听多个业务,从而提高业务的可扩展性。
提高容错能力
弹性伸缩可以检测到应用系统中实例的运行状况,并启用新实例以替换运行状况不佳的实例。
云厂商提供的文档地址
ali Cloud: https://help.aliyun.com/product/25855.html
Hw Cloud: https://support.huaweicloud.com/intl/zh-cn/as/index.html
配置使用
我们这里以华为云为例
首次创建
1,创建ECS,并制作镜像
创建一个新的ECS(建议只有系统盘);在上面部署我们需要的服务;需要注意:我们要做好服务开机自启动,确保创建完机器之后服务能自己启动;
服务安装好之后,直接基于当前的ECS 创建镜像;
2,创建ELB(弹性负载均衡)
“ELB” --> “创建ELB”
按照ECS所在地区购买ELB服务,购买完成之后创建“监听器”(ELB监听的端口),然后创建后端服务器组:在后端服务组里面我们可以选择轮训的算法,并且添加后端接口的健康检查(只有健康检查通过了之后ELB才会真正的将流量切换过去);
3,创建弹性伸缩
创建弹性伸缩配置
弹性伸缩AS --> 创建伸缩配置
这个地方选择我们刚才创建的镜像版本

这个地方就没什么好解释的了。
创建弹性伸缩组

框出来的地方选择我们刚才创建的伸缩配置即可;
当我们完成上面这几部的时候,弹性伸缩相关的配置我们就完成了。但是还没有办法自动的进行弹性扩容

我们可以手动扩容一个看一下是否正常:

将期望副本数改为1就行;
然后我们就可以请求ELB地址来请求后端服务来,如果需要自动伸缩,那我们就需要配置一下伸缩策略。
后期升级
1,升级ECS实例里面的服务版本,然后创建镜像
2,创建新的伸缩配置
到弹性伸缩里面创建新的弹性伸缩配置,选择新的镜像版本
3,更改弹性伸缩组
更改弹性伸缩组里面弹性配置,选择新的弹性配置即可。
边栏推荐
- 托尔斯泰:生活中只有两种不幸
- 83. Remove Duplicates from Sorted List
- 《社会企业开展应聘文职人员培训规范》团体标准在新华书店上架
- STM32 GPIO LED and buzzer implementation [Day 4]
- Kubernetes 笔记 / 任务 / 管理集群 / 用 kubeadm 管理集群 / 配置一个 cgroup 驱动
- CPU个数_核心数_线程数之间的关系
- Why do I strongly recommend using smart async?
- "Avnet Embedded Weekly" Issue 276: 2022.07.25--2022.07.31
- Small Tools (4) integrated Seata1.5.2 distributed transactions
- C专家编程 第3章 分析C语言的声明 3.4 通过图标分析C语言的声明
猜你喜欢

Small Tools (4) integrated Seata1.5.2 distributed transactions

甲方不让用开源【监控软件】?大不了我自己写一个

C语言02、语句、函数
![STM32 GPIO LED and buzzer implementation [Day 4]](/img/13/dbfed5a207e97ba0b78c1f63712e16.png)
STM32 GPIO LED and buzzer implementation [Day 4]

技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris

出海季,互联网出海锦囊之本地化

SQL中对 datetime 类型操作

我在滴滴做开源

可复现、开放科研、跨学科合作:数据驱动下的科研趋势及应用方案
![[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 01](/img/8e/fcf79d150af4384c14a118fb209725.png)
[Unity Getting Started Plan] Basic Concepts (8) - Tile Map TileMap 01
随机推荐
Small Tools (4) integrated Seata1.5.2 distributed transactions
[Deep Learning] Today's bug (August 2)
建造者模式/生成器模式
新版本 MaxCompute 的SQL 中支持的 EXTRACT 函数有什么作用?
Kubernetes 笔记 / 任务 / 管理集群 / 用 kubeadm 管理集群 / 配置一个 cgroup 驱动
Tolstoy: There are only two misfortunes in life
2021年数据泄露成本报告解读
袁小林:沃尔沃专注于出行的安全感,并且把它做到极致
参与便有奖,《新程序员》杂志福利来袭!
【翻译】关于扩容一个百万级别用户系统的六个课程
C专家编程 第3章 分析C语言的声明 3.6 typedef int x[10]和#define x int[10]的区别
MySQL窗口函数 PARTITION BY()函数介绍
TCP 可靠吗?为什么?
mysql delete execution error: You can't specify target table 'doctor_info' for update in FROM clause
【QT】Qt 给已经开发好的程序快速封装成动态库
基于DMS的数仓智能运维服务,知多少?
ffplay视频播放原理分析
leetcode-693.交替位二进制数
smp,numa和mpp体系结构总结
甲方不让用开源【监控软件】?大不了我自己写一个