作品简介

本书探讨了选择合适的分布式系统架构的策略。作者通过一个虚构的技术小组(Sysops Squad)的故事,研究了架构的各种可能性,包括如何确定服务粒度、管理工作流和编排、管理和解耦契约、管理分布式事务,以及如何优化运维性特征,例如可伸缩性、弹性和性能。

本书分为两大部分:

第1部分主要处理架构结构,即事物如何静态耦合在一起;

第2部分讨论各种技术来克服与分布式架构相关的困难,包括管理服务通信、契约、分布式工作流、分布式事务、数据所有权、数据访问和分析型数据。

作品目录

  • O"Reilly Media, Inc.介绍
  • 推荐语
  • 本书赞誉
  • 前言
  • 第1章 没有最佳实践会怎么样
  • 1.1 何为“难点”
  • 1.2 永不过时的软件架构建议
  • 1.3 数据在架构中的重要性
  • 1.4 架构决策记录
  • 1.5 架构适应度函数
  • 1.6 架构与设计:保持定义简单
  • 1.7 引入Sysops Squad的传奇故事
  • 第一部分 分而治之
  • 第2章 识别软件架构中的耦合
  • 2.1 架构量子
  • 2.2 Sysops Squad的传奇故事:理解量子
  • 第3章 架构模块化
  • 3.1 模块化的驱动因素
  • 3.2 Sysops Squad的传奇故事:创建业务案例
  • 第4章 架构分解
  • 4.1 代码库能分解吗
  • 4.2 基于组件的分解
  • 4.3 战术分叉
  • 4.4 Sysops Squad的传奇故事:走上分解之路
  • 第5章 基于组件的分解模式
  • 5.1 识别和调整组件模式
  • 5.2 收集公共领域组件模式
  • 5.3 扁平化组件模式
  • 5.4 明确组件依赖项模式
  • 5.5 构建组件领域模式
  • 5.6 构建领域服务模式
  • 5.7 总结
  • 第6章 分离业务型数据
  • 6.1 数据分解的驱动因素
  • 6.2 分解单体数据
  • 6.3 数据库类型的选择
  • 6.4 Sysops Squad的传奇故事:多维数据库
  • 第7章 服务粒度
  • 7.1 粒度分解因素
  • 7.2 粒度集成因素
  • 7.3 找到正确的平衡
  • 7.4 Sysops Squad的传奇故事:工单分配粒度
  • 7.5 Sysops Squad的传奇故事:客户注册粒度
  • 第二部分 合而为一
  • 第8章 复用模式
  • 8.1 代码复制
  • 8.2 共享库
  • 8.3 共享服务
  • 8.4 边车和服务网格
  • 8.5 Sysops Squad的传奇故事:公共基础设施逻辑
  • 8.6 代码复用:何时带来价值
  • 8.7 Sysops Squad的传奇故事:共享领域功能
  • 第9章 数据所有权和分布式事务
  • 9.1 分配数据所有权
  • 9.2 单一所有权场景
  • 9.3 公共所有权场景
  • 9.4 共同所有权场景
  • 9.5 数据所有权总结
  • 9.6 分布式事务
  • 9.7 最终一致性模式
  • 9.8 Sysops Squad的传奇故事:工单处理的数据所有权
  • 第10章 分布式数据访问
  • 10.1 服务间通信模式
  • 10.2 列schema复制模式
  • 10.3 复制缓存模式
  • 10.4 数据领域模式
  • 10.5 Sysops Squad的传奇故事:工单分配的数据访问
  • 第11章 管理分布式工作流
  • 11.1 集中编排式通信
  • 11.2 分散协作式通信
  • 11.3 权衡集中编排与分散协作
  • 11.4 Sysops Squad的传奇故事:工作流管理
  • 第12章 事务Saga
  • 12.1 事务Saga的8种模式
  • 12.2 状态管理与最终一致性
  • 12.3 管理Saga的手段
  • 12.4 Sysops Squad的传奇故事:原子性事务和补偿更新
  • 第13章 契约
  • 13.1 严格契约与宽松契约
  • 13.2 微服务中的契约
  • 13.3 邮戳耦合
  • 13.4 Sysops Squad的传奇故事:管理工单契约
  • 第14章 管理分析型数据
  • 14.1 以前的方法
  • 14.2 数据网格
  • 14.3 Sysops Squad的传奇故事:数据网格
  • 第15章 打造你自己的权衡分析
  • 15.1 找出彼此纠缠的部分
  • 15.2 权衡利弊的技巧
  • 15.3 Sysops Squad的传奇故事:尾声
  • 关于作者
  • 关于封面
展开全部