作品简介

学习任何知识都不应该脱离实践去空谈理论。为了讲清楚不同架构风格下的工程实现差异,也为了尽量少在书中贴代码,将宝贵的版面空间节省出来,笔者在GitHub上分别建立了基于Spring Boot、Spring Cloud、Kubernetes、Istio和AWS Lambda的五种架构风格的样例工程。如果你阅读之前对架构并没有太深刻的理解,建议先阅读一遍本书附录A的内容。如果你是一名驾驶初学者,最合理的学习路径应该是先把汽车发动,然后慢慢行驶起来,而不是先从“引擎动力原理”“变速箱构造”入手去深刻地了解一辆汽车。计算机技术也是同理,先从运行程序开始,看看效果,搭建好开发、调试环境,对即将学习的内容先有一个整体的认知是很有好处的。

作者:周志明。

作品目录

  • 赞誉
  • 自序
  • 前言
  • 第一部分 演进中的架构
  • 第1章 服务架构演进史
  • 1.1 原始分布式时代
  • 1.2 单体系统时代
  • 1.3 SOA时代
  • 1.4 微服务时代
  • 1.5 后微服务时代
  • 1.6 无服务时代
  • 第二部分 架构师的视角
  • 第2章 访问远程服务
  • 2.1 远程服务调用
  • 2.2 REST设计风格
  • 第3章 事务处理
  • 3.1 本地事务
  • 3.2 全局事务
  • 3.3 共享事务
  • 3.4 分布式事务
  • 第4章 透明多级分流系统
  • 4.1 客户端缓存
  • 4.2 域名解析
  • 4.3 传输链路
  • 4.4 内容分发网络
  • 4.5 负载均衡
  • 4.6 服务端缓存
  • 第5章 架构安全性
  • 5.1 认证
  • 5.2 授权
  • 5.3 凭证
  • 5.4 保密
  • 5.5 传输
  • 5.6 验证
  • 第三部分 分布式的基石
  • 第6章 分布式共识
  • 6.1 Paxos
  • 6.2 Multi Paxos
  • 6.3 Gossip协议
  • 第7章 从类库到服务
  • 7.1 服务发现
  • 7.2 网关路由
  • 7.3 客户端负载均衡
  • 第8章 流量治理
  • 8.1 服务容错
  • 8.2 流量控制
  • 第9章 可靠通信
  • 9.1 零信任网络
  • 9.2 服务安全
  • 第10章 可观测性
  • 10.1 事件日志
  • 10.2 链路追踪
  • 10.3 聚合度量
  • 第四部分 不可变基础设施
  • 第11章 虚拟化容器
  • 11.1 容器的崛起
  • 11.2 以容器构建系统
  • 11.3 以应用为中心的封装
  • 第12章 容器间网络
  • 12.1 Linux网络虚拟化
  • 12.2 容器网络与生态
  • 第13章 持久化存储
  • 13.1 Kubernetes存储设计
  • 13.2 容器存储与生态
  • 第14章 资源与调度
  • 14.1 资源模型
  • 14.2 服务质量与优先级
  • 14.3 驱逐机制
  • 14.4 默认调度器
  • 第15章 服务网格
  • 15.1 透明通信的涅槃
  • 15.2 服务网格与生态
  • 第五部分 技术方法论
  • 第16章 向微服务迈进
  • 16.1 目的:微服务的驱动力
  • 16.2 前提:微服务需要的条件
  • 16.3 边界:微服务的粒度
  • 16.4 治理:理解系统复杂性
  • 附录A 技术演示工程实践
  • 附录B 部署Kubernetes集群
展开全部