加载中...

| 类型 | 系统扩展策略 |
| 别名 | 横向扩展、Scale Out |
| 对比 | 垂直扩展(Scale Up):升级单台机器配置 |
水平扩展的前提是无状态(Stateless):任何一台实例处理任何请求结果都相同,请求可任意路由到任何节点。Session 是经典障碍——Session 存在本机内存,负载均衡器必须做 Session 粘滞(Sticky Session),限制了扩展灵活性。解决方案是把 Session 外移到 Redis 或数据库,让每台实例都变成无状态的。Google 的 Stateless Design 原则要求所有状态都存在专用存储里,是 GCP 大规模水平扩展的基础。[1]
垂直扩展(Scale Up)在某些场景仍有价值:数据库增加内存可以提升缓存命中率,单线程敏感任务需要更快的 CPU 核。但物理机器规格有上限,价格与性能不成线性关系(64 核机器的价格远超 2 台 32 核机器),且单点意味着单点故障。现代系统架构的基本取向:能水平扩展就水平扩展,垂直扩展只作补充。

| 类型 | 系统扩展策略 |
| 别名 | 横向扩展、Scale Out |
| 对比 | 垂直扩展(Scale Up):升级单台机器配置 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧