前言
随着IT系统复杂度不断增加,无论是为了降低团队的知识负载,还是为了最大化利用云原生的弹性能力,分布式架构已经成为处理新一代复杂系统的默认架构模式。但它的引入也同样:大幅提高了架构的复杂性,导致系统可靠性降低。如何构建既可靠又灵活的大型分布式架构,成为新的难点与课题。
本书系统、全面且深入浅出地讲解了分布式架构的方方面面,对大家了解并驾驭大型分布式架构非常有帮助,强烈推荐。
本书一共分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分
文章内容过多,为了不影响大家的阅读体验,小编会为大家尽可能地展示。
第一部分
第一部分既是全书的绪论,也是对后续将用到的大量名词概念所做的铺垫。这部分没有谈论过于具体的技术,只是着重介绍了软件开发历史中多种主流架构出现的契机、解决的问题以及带来的新缺陷。
- 服务架构演进史
- 原始分布式时代、单体系统时代、SOA时代
- 微服务时代、后微服务时代
第二部分
第二部分的内容与具体的架构风格无关,讨论的是普适的架构技术与使用技巧。无论你是否关注微服务、云原生这些概念,无论你从事架构设计还是编码开发,了解这里所列的基础知识,都是有实用价值的。
- 访问远程服务
- 事务处理
- 透明多级分流系统
- 架构安全性
- 远程服务调用、REST设计风格、本地事务、全局事务、共享事务、分布式事务
- 客户端缓存、域名解析、传输链路、内容分发网络
- 负载均衡、服务端缓存、架构安全性
- 认证、授权、凭证、保密、传输、验证
第三部分
只要选择了分布式架构,无论是SOA、微服务、服务网格或者其他架构风格,涉及与远程服务的交互时,服务的注册发现、跟踪治理、负载均衡、故障隔离、认证授权、伸缩扩展、传输通信、事务处理等一系列问题都是不可避免的。不同的架构风格,其区别是到底要在技术规范上提供统一的解决方案,由应用系统自行解决,还是在基础设施层面将这类问题隔离掉。第三部分将重点讨论这类问题的解决思路、方法和常见工具。
- 分布式共识
- 从类库到服务
- 流星治理
- 可靠通信
- 可观测性
- Paxos、Multi Paxos、Gossip协议
- 服务发现、网关路由、客户端负载均衡
- 服务容错、流量控制、零信任网络
- 服务安全、事件日志、链路追踪、聚合度量
第四部分
这部分主要面向基础设施的运维人员、技术平台的开发人员。在云原生时代、后微服务时代,软件与硬件之间的界线已经彻底模糊,无论是基础设施的运维人员,抑或是技术平台的开发人员,都有必要深入理解基础设施不变性的目的、原理与实现途径。
- 虚拟化容器
- 容器间网络
- 持久化存储
- 资源与调度
- 服务网格
- 容器的崛起、以容器构建系统、以应用为中心的封装、Linux网络虚拟化
- 容器网络与生态、Kubernetes存储设计、容器存储与生态、资源模型
- 服务质量与优先级、驱逐机制、默认调度器、透明通信的涅粲、服务网格与生态
第五部分
这部分主要面向企业中重要技术的决策者。对于一名研究人员或者企业中技术方向的决策者,理论与实践都不可缺少,在涉及决策的场景中,成体系的理论知识甚至比实践经验还要关键,因为执行力再强,也必须用在正确的方向上才有价值。如果你对自己的规划是有朝一日从一名技术人员发展成研究或者管理人员,补充这部分知识是必不可少的。
- 向微服务迈进
- 微服务的驱动力
- 微服务需要的条件
- 微服务的粒度
- 理解系统复杂性
最后
用“凤凰”这个词来诠释分布式架构,让人不禁联想到每一种架构都是一只浴火重生的凤凰,仔细想来,确实如此。从小型系统迭代到大型系统,从单体走向分布式,每一个成功的系统都会经历一次次“涅槃重生”,从失败中站起来,从故障里爬出来,从经验中成长起来。
本书从“架构演进”出发,以“架构师视角”展开,详细讲述了分布式架构的原理、基础设施、设计理念等,是一本很好的可以让架构“浴火重生”的经验宝典。
——王晓波 同程旅行机票事业群CTO