news 2026/5/1 7:25:57

为什么需要 Auto Scaling详细介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为什么需要 Auto Scaling详细介绍

一、为什么需要 Auto Scaling(背景)

1️⃣ 高可用 ≠ 高扩展

多一台服务器 → 提高可用性(Availability)

流量暴增 → 仍可能因为容量不足而宕机

所以要解决的是容量问题(Scalability)

二、两种系统架构对比

1️⃣ Active-Passive(主备)

特点

  • 一台 Active 接流量

  • 一台 Passive 备用

  • 出问题 → 切换

  • 扩展方式:Vertical Scaling(纵向扩展)

什么是纵向扩展?

  • 把服务器“变大”

  • 换更大的实例类型

例如:t2.micro → t3.large

问题

  • 必须停机才能改实例类型

  • 完全是 手工操作

  • 有 硬上限

  • 超过上限 → 需要拆系统、重构应用

❌ 不适合云环境
❌ 不适合突发流量

2️⃣ Active-Active(多活)

特点

  • 多台服务器 同时接流量

  • 所有实例地位相同

  • 前面通常有 Load Balancer

扩展方式:Horizontal Scaling(横向扩展)

什么是横向扩展?

  • 加机器 / 减机器

  • 2 台 → 4 台 → 10 台

不改应用逻辑

✅ 云原生
✅ 弹性
✅ 自动化

三、无状态(Stateless)是关键前提

为什么 Active-Active 要求 Stateless?

不把 Session 存在 EC2 本地

数据存在:
  • DynamoDB

  • S3

  • RDS

  • ElastiCache

这样:

任意实例都能处理请求

扩容 / 缩容不影响用户

四、Amazon EC2 Auto Scaling 是什么?

一句话定义(面试版)

Amazon EC2 Auto Scaling 是一个根据 CloudWatch 指标,自动添加或移除 EC2 实例,以保持性能稳定并降低成本的服务。

Auto Scaling 解决的两个核心问题

问题解决
流量变化自动扩 / 缩
实例故障自动替换

既负责扩展,又负责高可用

五、ELB + Auto Scaling 的关系

1️⃣ 为什么要配合 ELB?

Auto Scaling:管数量

ELB:管流量

它们分工明确。

2️⃣ ELB 的健康检查(Health Check)

ELB 只会把流量转发给 健康实例

支持两种健康检查方式

1️⃣ TCP

能否建立连接

不关心应用逻辑

2️⃣ HTTP / HTTPS

请求指定路径

判断 HTTP 返回码(如 200)

👉 生产中更推荐 HTTP/HTTPS

3️⃣ 自动联动机制

ASG 新建实例 → 自动注册到 Target Group

ASG 删除实例 → 自动从 Target Group 移除

不健康 → ELB 不转发流量

六、传统扩展 vs Auto Scaling

传统方式(On-Prem 思维)

  • 为 峰值 买服务器

  • 夜间 / 低峰 → 大量闲置

  • 成本高、浪费严重

Auto Scaling(云思维)

  • 按需创建

  • 按秒/分钟计费

  • 自动应对突发流量

用多少,付多少

七、EC2 Auto Scaling 的三大组件(必背)

1️⃣ Launch Template(启动模板)

作用

定义 EC2 如何被创建

包含内容

  • AMI

  • 实例类型

  • 安全组

  • EBS

  • IAM Role

  • User Data

特点

  • 支持版本控制

  • 可回滚

  • 推荐使用(替代 Launch Configuration)

2️⃣ Auto Scaling Group(ASG)

作用

定义 在哪里、以多少规模运行 EC2

关键配置

  • 部署位置

  • VPC

  • Subnets(至少两个 AZ)

购买方式

  • On-Demand

  • Spot

  • 混合

容量三要素(面试高频)

参数含义
Minimum永远保持的最少实例数
Maximum成本和容量上限
Desired当前希望运行的实例数

ASG 的默认行为

  • 扩容 → 用 Launch Template 创建新实例

  • 缩容 → 默认删除最旧实例

  • 实例不健康 → 自动替换

3️⃣ Scaling Policies(扩展策略)

决定:什么时候扩 / 缩

基于:

CloudWatch Metrics

CloudWatch Alarms

八、三种 Scaling Policy 对比(重点)

1️⃣ Simple Scaling

  • 一个 Alarm → 一个动作

  • 有 cooldown

  • 不灵活

示例:

CPU > 65% → +1 实例

2️⃣ Step Scaling

不同阈值 → 不同扩展幅度

示例:

  • CPU > 85% → +2

  • CPU > 95% → +4

3️⃣ Target Tracking

思想

你只告诉我目标,我自动调

示例:

平均 CPU = 60%

AWS 自动:

  • 创建 alarms

  • 扩 / 缩实例

✅ 简单
✅ 推荐
✅ 实战常用

九、Auto Scaling 用于“高可用”而非扩展

如果你这样配置:

  • Min = 4

  • Desired = 4

  • Max = 4

含义:

  • 不扩容

  • 只做 实例替换

  • 始终保证 4 台在线

十、完整逻辑一图理解(文字版)

CloudWatch 监控指标 ↓ Scaling Policy 决策 ↓ Auto Scaling Group ↓ Launch Template ↓ EC2 Instances ↓ Target Group(健康检查) ↓ ELB 分发流量

十一、面试一句话总结

“EC2 Auto Scaling automatically adjusts the number of EC2 instances based on CloudWatch metrics. It works with launch templates to define how instances are created, Auto Scaling Groups to define where and how many instances run, and integrates with ELB to distribute traffic only to healthy instances.”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 7:29:53

ELB(Elastic Load Balancing)的三大核心组件,以及它们之间的关系

一、整体一句话理解 客户端的请求先到 Listener,Listener 根据 Rule 把请求转发到某个 Target Group,而 Target Group 里只有“健康”的 Target 才会接收流量。 二、最外层:Elastic Load Balancing(整体服务) 最外面的…

作者头像 李华
网站建设 2026/5/1 1:04:38

改进双层规划算法舰载机出动调度仿真【附代码】

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅成品或者定制,扫描文章底部微信二维码。(1) 舰载机出动作业的双层规划模型构建与约束分析 舰载机出动调度是一个涉及多机型、…

作者头像 李华
网站建设 2026/5/1 6:15:20

51单片机蜂鸣器唱歌:轻松理解音乐频率控制原理

让51单片机“开口唱歌”:从蜂鸣器到音乐的底层实现 你有没有试过用代码让一块最普通的51单片机,播放出《小星星》的旋律?听起来像魔法,其实背后是嵌入式系统中最基础也最关键的几个原理在协同工作—— 定时器、中断、频率控制与I…

作者头像 李华
网站建设 2026/4/21 6:29:00

还在为MCP实验题发愁?掌握这6个操作步骤轻松拿满分

第一章:MCP实验题核心认知与准备在分布式系统与并发编程的学习中,MCP(Multi-Component Processing)实验题是检验理论与实践结合能力的重要环节。该实验通常要求实现多个组件间的协调通信、任务分发与状态同步,是深入理…

作者头像 李华
网站建设 2026/4/25 2:06:47

拿下MCP云原生认证后,我的薪资为何提升了60%?(真实案例剖析)

第一章:拿下MCP云原生开发认证后,我的职业转折点获得MCP云原生开发认证并非终点,而是一个全新的起点。它不仅验证了我在容器化、微服务架构和Kubernetes编排方面的实战能力,更让我在团队中获得了主导技术方案设计的机会。认证过程…

作者头像 李华
网站建设 2026/4/18 14:13:32

AI 的诅咒与祝福:ABAP 开发者在内容洪流里重新学会信任与验证

引子:当一篇 看起来很专业 的技术文章,连 S/4HANA 2023 都跑不通 AI 被寄予厚望的原因很朴素:它应该让学习更轻松,让交付更快,让开发者把时间花在更有价值的设计与决策上。可一旦把视角放到 ABAP 这类强版本约束、强语法约束、强运行时约束的工程领域,事情就会变得微妙:…

作者头像 李华