| 作者: | Ian Gorton |
| 语言: | 英文 |
| 出版年份: | 2022 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
《Foundations of Scalable Systems》面向想进入可扩展分布式系统设计的开发者和架构师。它不是某个云厂商或框架的操作手册,而是围绕“系统如何在请求量、数据量和故障压力下持续增长”这一问题,讲解分布式、并发、缓存、消息、数据库与流处理背后的通用原则和工程取舍。
全书以 scalability 为主线,把扩展能力放在性能、可用性、一致性和成本之间的权衡中讨论。作者先建立分布式系统和并发的基础概念,再进入服务层扩展、缓存、异步消息、serverless 与 microservices,随后转向数据层的一致性和分布式数据库实现,最后讨论事件驱动与流处理,并补充自动化、可观测性、部署平台和数据湖等生产系统必需能力。
第一章从现代互联网系统的增长压力切入,解释可扩展性的含义、度量维度,以及 replication 和 optimization 两类基本策略。第二章到第四章铺设基础:分布式架构、状态、时间、通信、协调、局部失败,以及单节点并发、线程、锁和不同语言的并发模型,为后续设计判断提供概念框架。
第五章到第九章聚焦请求处理层,讨论 API 与服务设计、水平扩展、负载均衡、状态管理、distributed caching、asynchronous messaging、serverless processing 和 microservices。第十章到第十三章进入数据层,比较关系数据库扩展、分区、复制、eventual consistency、strong consistency,并以 MongoDB、Google Cloud Spanner、Amazon DynamoDB 等系统说明理论如何落到产品架构中。第十四章到第十六章转向事件与流处理,介绍 event-driven architecture、Apache Kafka、Flink、实时窗口计算,并以 DevOps、observability、Kubernetes、data lakes 等主题收束到真实生产环境。
适合已有软件开发经验、但对分布式和高并发系统经验有限的工程师、架构师,也适合作为高年级本科或研究生课程的系统设计教材。读者最好理解基本网络、数据库和后端服务概念;如果只想学习某个框架的 API,或寻找完整可运行项目教程,本书会显得偏架构和原理。
这本书的价值在于把“扩容”从简单加机器,提升为一套关于瓶颈、复制、协调、一致性、延迟、成本和故障恢复的系统性思维。它覆盖面宽,深度偏基础到中级,不会替代专门的数据库、Kafka 或微服务专著,但能帮助读者建立可扩展系统的技术地图,理解为什么某些平台和模式适合特定负载,也更容易在真实项目中识别早期设计债务。