构建可扩展分布式系统:方法与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章
可扩展系统简介

在过去20年里,软件系统的规模、复杂性和容量都出现了前所未有的增长。这种增长速度在未来20年内几乎不可能放缓——现在几乎无法想象未来系统的样子。但是,我们可以确定的一件事情是,越来越多的软件系统将需要在满足持续增长需求的基础上来构建——更多请求、更多数据和更多分析——作为系统设计的主要驱动力。

可扩展(scalable)是软件工程中用来描述软件系统能够适应增长的术语。在本章中,我将探讨可扩展能力的确切含义,俗称可扩展性(scalability,对此术语你肯定耳熟能详)。我将借助一些案例,用确凿数据来说明当代应用程序的功能和特征,然后再引出我们今天常规构建的大型系统的起源。最后,我将介绍实现可扩展、可复制和最优化系统的两个基本原则,它们将会在本书的其余部分以各种形式重复出现,并用来检查架构的可扩展性与其他质量属性之间不可磨灭的联系。