系统设计 0 到 1:垂直扩展:更大总是更好吗?(第2集)

发布: (2025年12月28日 GMT+8 03:22)
4 min read
原文: Dev.to

Source: Dev.to

初始困境

在我们的上一集中,我们讨论了单台服务器最终会成为瓶颈。当请求堆积时,服务器的 CPU 和内存会开始“求救”。

最直观的解决方案是什么?让服务器更强大。这叫做垂直扩容(或 “向上扩容”)。

什么是垂直扩容?

垂直扩容就像给服务器打了一针类固醇。你不需要改变应用的工作方式,只需把它迁移到更强大的机器上。

垂直扩容示意图

本质上,你是通过添加以下资源来提升单节点的容量:

  • 更多内存(RAM):处理更多并发任务。
  • 更快的 CPU:以闪电般的速度处理请求。
  • 更多存储/IOPS:更快地读写数据。

开发者为何喜欢它(优势)

垂直扩容常常是早期创业公司和小项目的“首选”,原因有以下几点:

  • 简洁性:无需改动任何代码。你的架构仍是单体系统,远比分布式系统易于管理。
  • 数据一致性:所有操作都在同一台机器上进行,无需担心跨服务器的数据同步。
  • 成本效益(初期):对于小流量峰值,直接在云服务商那里点击“升级”往往比构建复杂的负载均衡系统更便宜。

隐患:为何它不是永久方案(劣势)

作为分布式计算助教,我见过很多学生以为可以一直“向上扩容”。但实际上有三大陷阱:

1. “硬件墙”

不管你有多少钱,物理上都有极限。你买不到拥有无限内存或 5,000 核 CPU 的服务器。最终,你会碰到现代硬件的上限。

2. 单点故障

如果只有一台“超级服务器”,一旦它因停电或 bug 而宕机,整个应用对 100% 的用户都会不可用。没有备份。

3. 显著的停机时间

升级服务器硬件通常需要重启。在要求 24/7 可用的环境下,即使是五分钟的停机也可能代价高昂。

结论

垂直扩容在早期阶段非常棒。它快速、简单,并且能保持低工程开销。但一旦碰到“硬件墙”,就只能转向“水平”扩容的方向。

接下来会讲什么?

如果垂直扩容遇到瓶颈,Netflix 这类巨头是如何支撑数百万用户的?明天我们将探讨另一种方案:水平扩容(向外扩容)

Back to Blog

相关文章

阅读更多 »