
262
第 16 章
可扩展系统的基本要素
坦白来讲,构建可扩展的分布式系统很难!
分布式系统在本质上就是复杂的,你必须考虑多种故障模式,并设计应对所有可能发生
的情况的处理方式。当应用程序遇到高请求量和数据资源快速增长的压力时,问题就会
变得更加棘手。
大规模应用程序需要协调大量的硬件和软件组件,共同实现低延迟和高吞吐量的能力。
你面临的挑战是将所有活动部件组合成一个应用程序来运行,使其既能满足需求又不会
耗费过多成本。
本书涵盖了可扩展分布式系统的基本原则、架构、机制和技术等广泛领域。有了这些知
识,你就可以开始设计和构建大规模应用程序了。
但是,故事仍未完结,你应该不会感到惊讶,因为我们在新需求、新硬件和软件技术不
断变化的环境中运作。尽管分布式系统的基本原理仍然有效(在可预见的未来,量子物
理学(
https://oreil.ly/orBDp
)可能会改变一切),但新的编程抽象、平台模型和硬件让你
更容易构建具有更高的性能、更好的可扩展性和更大的弹性的更复杂的系统。推动我们
穿越这个技术领域的火车永远不会减速,它甚至会变得更快。请保持不断学习新事物,
为疯狂旅程做好准备吧!
此外,还有许多构建成功的可扩展系统的基本要素没在本书中介绍。图
16-1
描述了其中
的
4
个,我将在后续小节中简要描述每个要素的突出问题。
16.1
自动化
在构建大型系统时,工程师是相当昂贵但必不可少的资源。任何大规模部署的系统都迫
切需要数百名才华横溢的工程师来参与。在互联网巨型的规模下,所需工程师的数字增
...