1.7 总结和延伸阅读
快速且低成本地扩展应用程序的能力应该是当代面向互联网的应用程序的软件架构的决定性质量。我们有两种实现可扩展性的基本方法,即增加系统容量(通常通过复制)和优化系统组件的性能。
像其他软件架构的质量属性一样,可扩展性不能孤立地实现。它不可避免地涉及复杂的权衡,需要根据应用程序的要求进行调整。在本书接下来的内容中,我将讨论基本质量属性之间的权衡。从下一章开始,我将描述实现可扩展架构的具体方法。
[1]Neil Ernst et al., Technical Debt in Practice:How to Find It and Fix It(MIT Press,2021).
[2]PB(PetaByte),拍字节,1 PB=1024 TB==250字节。
[3]Ian Gorton et al., “Data-Intensive Computing in the 21st Century,”Computer 41,no. 4(April 2008):30-32.
[4]EB(ExaByte),艾字节,1 EB=1024 PB==260字节。
[5]YB(YottaByte),尧字节,1 YB=1024 ZB==280字节。
[6]Rachel Potvin and Josh Levenberg,“Why Google Stores Billions of Lines of Code in a Single Repository,”Communications of the ACM 59,7(July 2016):78-87.
[7]Pornhub的报告不适合神经脆弱的人。这里有一个关于PG-13数据的说明——该网站在2019年有420亿次访问。一些统计数据绝对会让你目瞪口呆。
[8]奥克兰(Auckland),新西兰北部的滨海城市,也是新西兰最大城市。
[9]这座桥的扩展部分由一家日本公司制造完成,因此命名为“Nippon clip-ons”,即“日本夹子”。