news 2026/4/3 3:33:14

为什么需要 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/3 3:35:47

USB Serial Controller驱动安装全流程深度剖析

深入拆解USB转串口驱动安装:从芯片原理到实战避坑 你有没有遇到过这样的场景? 手握一块ESP32开发板,线也接好了,电源灯亮了,可串口调试助手就是收不到任何日志。打开设备管理器一看——“未知设备”,带个黄…

作者头像 李华
网站建设 2026/3/31 8:44:39

IP冲突频发?掌握这4个技巧,彻底根除MCP网络隐患

第一章:MCP网络中IP冲突的根源剖析在MCP(Multi-Control Plane)网络架构中,IP地址冲突是导致通信异常、服务中断和数据包丢失的关键问题之一。此类冲突通常源于配置管理不当、自动化分配机制缺陷或网络拓扑复杂性增加,进…

作者头像 李华
网站建设 2026/4/3 6:24:50

深度测评9个一键生成论文工具,本科生轻松搞定毕业论文!

深度测评9个一键生成论文工具,本科生轻松搞定毕业论文! AI 工具如何改变论文写作的未来 在当今快速发展的学术环境中,AI 工具正逐渐成为学生和研究人员不可或缺的助手。尤其在论文写作过程中,这些工具不仅能够显著降低 AIGC 率&am…

作者头像 李华
网站建设 2026/3/28 21:08:42

零基础教程:3分钟学会使用带圆圈数字符号

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个新手友好型工具:1.分步引导教程(什么是带圆圈数字→如何输入→使用场景) 2.提供练习区域可实时尝试 3.内置1-100序号速查表 4.常见问题…

作者头像 李华
网站建设 2026/3/29 2:57:43

码市原型工具:1小时验证你的创意

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个快速原型工具,允许用户通过拖拽界面组件和输入简单描述,生成一个可交互的产品原型。支持生成前端界面和简单的后端逻辑,并能导出为可演…

作者头像 李华
网站建设 2026/3/25 18:50:09

用RF-DETR快速验证目标检测新想法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个基于RF-DETR的快速原型开发工具,用户输入自定义的目标检测需求(如特定物体识别),系统自动生成训练代码、调整模型参数&…

作者头像 李华