1. 为什么需要 Auto Scaling:从高可用到高扩展的进化
在云计算时代,我们经常听到两个关键术语:高可用性(High Availability)和高扩展性(High Scalability)。很多人容易混淆这两者,但实际上它们解决的是完全不同维度的问题。
高可用性关注的是系统持续运行的能力,通常通过冗余来实现。比如我们部署两台服务器,一台Active处理请求,一台Passive作为备用。当Active服务器出现故障时,可以快速切换到Passive服务器,保证服务不中断。这种架构确实提高了可用性,但它有一个致命缺陷:当流量突然暴增时,即使两台服务器都正常运行,也可能因为容量不足而导致系统崩溃。
关键区别:高可用性解决的是"单点故障"问题,而高扩展性解决的是"容量不足"问题。这就是为什么我们需要Auto Scaling——它让系统能够根据实际负载动态调整容量。
在传统IDC环境中,我们通常会为预估的峰值流量预留服务器资源。比如电商网站在双十一期间可能需要100台服务器,但平时可能只需要20台。这意味着80%的资源在大部分时间都是闲置的,造成了巨大的浪费。而在云环境中,Auto Scaling让我们可以按需使用资源,真正做到"用多少付多少"。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构对比:主备 vs 多活
2.1 Active-Passive(主备架构)
主备架构是最传统的高可用方案,它的核心特点是:
- 只有一台服务器(Active)处理请求
- 另一台服务器(Passive)处于待命状态
- 当Active服务器故障时,通过心跳检测触发故障转移(Failover)
这种架构通常采用纵向扩展(Vertical Scaling)的方式来提升容量:
- 升级服务器硬件配置(CPU、内存等)
- 更换更强大的实例类型(如AWS中的t2.micro升级到t3.large)
但纵向扩展存在明显局限:
- 必须停机才能更换实例类型,导致服务中断
- 完全依赖人工操作,响应速度慢
- 存在物理硬件上限,无法无限扩展
- 超过上限后需要重构整个应用架构
2.2 Active-Active(多活架构)
多活架构是现代云原生应用的首选方案,其特点是:
- 多台服务器同时处理请求
- 所有实例地位平等
- 前端通过负载均衡器(如AWS ELB)分
