分布式应用系统架构设计与实践
谢文辉
内容提要
随着互联网技术的发展,分布式应用系统对具备高性能、高可用性、可扩展性和可维护性的架构的依赖度越来越高。本书以理论与实践相结合的方式,对分布式应用系统的架构设计进行系统、全面的阐述。本书分为3个部分,第一部分是分布式系统架构概述,介绍一些分布式系统架构下常见的基础概念和架构设计的目标;第二部分是核心理论及技术,介绍分布式应用系统下常见的技术中间件机制和使用场景,着重介绍分布式应用系统在高性能、高可用性、可扩展性和可维护性等方面常见的优化技术;第三部分是架构实践案例,梳理几种常见的大型分布式应用系统的架构,并结合具体问题进行分析,使读者能够真正理解设计分布式应用系统架构所面临的问题及解决问题的思路。
本书主要面向初/中/高级程序员和架构师,但书中的部分内容也适合产品经理、项目经理阅读。此外,本书内容由浅入深且案例丰富,也适合作为培训教材。 前 言
我在2010年进入互联网开发领域,当时公司的项目正处于向互联网转型的阶段,系统迭代开发完成后要考虑上线、发公告、停服务、代码手动更新、单台发布验证,以及所有服务器验证等步骤。在此期间,只要遇到问题,就要手动回滚,每次发布都要忙到凌晨。因此,我对这一经历记忆犹新。
随着项目和工作进入不同的阶段,我才慢慢了解了整个基于DevOps的快速、高效的发布流程。除此之外,我还有幸接触了更多互联网架构设计的整体流程。在此期间,我参与了一些日均活跃用户数达千万级的应用系统的架构改造和双活多机房的完整解决方案的设计,我还从无到有主导了一个多机房构建过程。虽然我在工作中遇到过无数的问题,但我认为这也是我作为技术人员的一种幸运。后来我开始考虑是否可以把以往的项目经验积累下来,分享给更多可能遇到同样问题的人,让更多的人少走弯路,同时也作为对自己的一种鞭策,让自己做更多有效的沉淀。因此,我在一些主流的技术博客和公众号上定期做技术分享,经过一段…