为什么需要 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.”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1123287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MCP Azure虚拟机部署终极指南】:掌握高效部署的5大核心步骤与避坑策略

第一章:MCP Azure虚拟机部署概述Azure 虚拟机(Virtual Machine)是微软云平台提供的核心计算服务之一,支持快速部署和扩展 Windows 或 Linux 操作系统的实例。在 MCP(Microsoft Certified Professional)认证…

快速验证:用GERBER文件检查PCB设计可行性

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个PCB设计快速验证工具,要求:1. 从AD文件一键生成简化版GERBER 2. 提供3D板级可视化预览 3. 自动检测最小线宽、间距等DFM问题 4. 生成可制造性评估报…

ChromeDriver下载地址汇总失效?用AI模型爬取最新链接

ChromeDriver下载地址汇总失效?用AI模型爬取最新链接 在现代Web自动化测试中,一个看似简单却频繁发生的痛点正在困扰无数开发者:Chrome浏览器一升级,原本好好的Selenium脚本突然报错——“ChromeDriver版本不匹配”。你打开熟悉的…

大模型微调实战:基于 LLaMA2 微调行业模型,本地部署 + 性能优化全流程

✨道路是曲折的,前途是光明的! 📝 专注C/C、Linux编程与人工智能领域,分享学习笔记! 🌟 感谢各位小伙伴的长期陪伴与支持,欢迎文末添加好友一起交流! 引言1. 核心流程总览2. 环境准备…

Vue3新手必看:5分钟上手vue3-print-nb打印功能

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 编写一个面向Vue3初学者的vue3-print-nb教学示例,包含:1)安装指南 2)基础使用示例 3)常见问题解答。示例要简单明了,使用最少的代码展示核心功能…

Amazon Elastic Load Balancing详细介绍

一、什么是 Load Balancer(负载均衡) 一句话定义: Load Balancer 位于客户端和后端服务器之间,负责把请求分发到多个后端资源上。 请求(task):浏览器发来的 HTTP / HTTPS 请求 资源&#xff…

万物识别模型主动学习:让标注效率提升10倍

万物识别模型主动学习:让标注效率提升10倍 作为数据标注团队的负责人,你是否经常面临这样的困境:标注成本居高不下,但模型质量却难以保证?传统的人工标注方式不仅耗时费力,还容易因为样本选择不当导致模型性…

为什么顶尖IT专家都在用PowerShell?,揭开MCP脚本编写的5大秘密

第一章:MCP PowerShell脚本编写的核心价值PowerShell 作为 Windows 平台强大的自动化工具,结合 MCP(Microsoft Certified Professional)认证体系中的最佳实践,能够显著提升系统管理效率与运维质量。通过编写结构化、可…

中国DevOps平台选型全景:技术适配与安全合规的双重考验

中国DevOps平台选型全景:技术适配与安全合规的双重考验 随着数字化转型进入深水区,DevOps平台选型正成为企业技术决策的关键战场。最新行业调研显示,2025年中国DevOps市场规模预计突破百亿,但平台间的技术路线分化正在加剧选型复杂…

最新流出6款AI论文工具:附真实参考文献,查重低原创高再不看晚了!

2024学术急救指南:6款AI工具24小时搞定论文初稿查重引用 你是不是正对着空白文档发呆?距离投稿截止只剩3天,导师催稿消息刷爆微信,参考文献还没找齐,查重率却飙到30%? 现在!立刻!马…

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

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

Qwen3Guard-Gen-8B可集成至DevOps流水线实现自动化安全测试

Qwen3Guard-Gen-8B:构建可信AI的自动化安全防线 在生成式AI加速渗透内容创作、客户服务与软件开发的今天,一个隐忧正日益凸显:模型输出是否可控?当大语言模型能流畅写出代码、撰写文案甚至模拟人类对话时,它们也可能无…

Qwen3Guard-Gen-8B模型可用于检测恶意代码生成尝试

Qwen3Guard-Gen-8B:语义驱动的恶意代码生成检测新范式 在大模型加速落地的今天,一个看似普通的用户请求——“写个脚本自动清理服务器日志”——背后可能隐藏着一场精心策划的攻击。如果系统不加甄别地执行这类指令,轻则导致数据丢失&#xf…

DIFY MCP在金融风控中的落地实践

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个金融风控系统原型,功能包括:1. 多源数据接入(CSV/API/数据库)2. 特征工程自动化处理 3. 风险评分模型训练与优化 4. 实时决…

最新流出!8款AI论文工具实测:20分钟生成5万字文献综述,真实文献全文引用

深夜急救!论文死线倒计时72小时?这8款AI工具能救你 凌晨3点,电脑屏幕上的“论文初稿截止:后天上午8点”红色提醒刺得眼睛发疼——你是不是也经历过这种“死线焦虑”?导师催稿、文献读不懂、公式图表搞不定、查重率居高…

科沃斯窗宝W3参数测评

优点‌: ‌安全系数高‌:‌自带安全绳和防摔挂钩‌,工作时吸力超大,基本不会掉下去,高空擦窗也不用担心砸到人或摔坏机器。 ‌操作简单‌:‌一键启动APP控制‌,老人也能轻松上手,还…

Qwen3Guard-Gen-8B支持与Elasticsearch结合实现全文检索过滤

Qwen3Guard-Gen-8B 与 Elasticsearch 融合实现语义级内容安全治理 在生成式 AI 快速渗透到社交、客服、创作等核心业务的今天,企业面临一个日益严峻的问题:如何确保大模型输出的内容既合规又安全?传统审核手段依赖关键词匹配和静态规则库&…

24小时开发一个轻量级杀毒软件原型:技术方案分享

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 快速开发一个轻量级杀毒原型,要求:1. 基于ClamAV开源引擎 2. 实现基础文件扫描功能 3. 简单的病毒库更新机制 4. 最小化UI显示扫描结果 5. 支持命令行操作。…

多目标优化算法公共自行车调度应用【附代码】

✅ 博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅成品或者定制,扫描文章底部微信二维码。(1) 多目标公共自行车调度模型的构建与约束分析 公共自行车系统(PBS&…

Qwen3Guard-Gen-8B模型可通过VSCode插件进行调试

Qwen3Guard-Gen-8B:用VSCode插件调试的语义级内容安全引擎 在生成式AI席卷各行各业的今天,一个被广泛忽视却至关重要的问题正浮出水面——模型输出不可控。当用户向AI提问“如何制作炸弹”时,我们期望系统能识别其潜在风险并拒绝响应&#xf…