书籍详情

分布式系统架构:架构策略与难题求解

分布式系统架构:架构策略与难题求解

作者:[美]尼尔·福特,[美]马克·理查兹,[美]普拉莫德·萨达拉奇,[澳]扎马克·德加尼

出版社:机械工业出版社

出版时间:2023-04-01

ISBN:9787111724223

定价:¥139.00

购买这本书可以去
内容简介
  在软件架构中没有简单的决策。相反,这里充斥着艰难的部分——困难的问题,并且没有实践——迫使你在其中做选择。在本书中,你将学会如何用批判性思维来考虑分布式架构中的利弊。本书探讨了选择适架构的策略。通过穿插一个虚构的技术小组的故事—— Sysops Squad——试验各种可能性,从如何确定服务粒度、管理工作流和编排、管理和解构契约、管理分布式事务,到如何优化运维性特征,例如可伸缩性、弹性和性能。通过关注在常见问题上,本书可以帮助作为架构师的你遇到问题时如何发掘和权衡利弊。无论你是渴望成为架构师,还是早已经验丰富,都无需手忙脚乱,本书将详细指导你在创建企业级应用和微服务的过程中取得成功。
作者简介
  梁越,现任职于思特沃克软件技术(成都)有限公司,从事软件开发工作,精通Java、Python等编程语言,同时熟悉软件架构相关技术。
目录

前言1


第1章 没有最佳实践会怎么样5

1.1 何为“难点”6

1.2 永不过时的软件架构建议6

1.3 数据在架构中的重要性7

1.4 架构决策记录8

1.5 架构适应度函数9

1.6 架构与设计:保持定义简单15

1.7 引入Sysops Squad的传奇故事17


第一部分 分而治之


第2章 识别软件架构中的耦合25

2.1 架构量子27

2.2 Sysops Squad的传奇故事:理解量子38


第3章 架构模块化41

3.1 模块化的驱动因素44

3.2 Sysops Squad的传奇故事:创建业务案例51


第4章 架构分解55

4.1 代码库能分解吗56

4.2 基于组件的分解61

4.3 战术分叉62

4.4 Sysops Squad的传奇故事:走上分解之路66


第5章 基于组件的分解模式68

5.1 识别和调整组件模式71

5.2 收集公共领域组件模式78

5.3 扁平化组件模式84

5.4 明确组件依赖项模式92

5.5 构建组件领域模式98

5.6 构建领域服务模式103

5.7 总结106


第6章 分离业务型数据107

6.1 数据分解的驱动因素108

6.2 分解单体数据123

6.3 数据库类型的选择131

6.4 Sysops Squad的传奇故事:多维数据库146


第7章 服务粒度152

7.1 粒度分解因素154

7.2 粒度集成因素162

7.3 找到正确的平衡169

7.4 Sysops Squad的传奇故事:工单分配粒度171

7.5 Sysops Squad的传奇故事:客户注册粒度173


第二部分 合而为一


第8章 复用模式179

8.1 代码复制180

8.2 共享库182

8.3 共享服务186

8.4 边车和服务网格190

8.5 Sysops Squad的传奇故事:公共基础设施逻辑194

8.6 代码复用:何时带来价值196

8.7 Sysops Squad的传奇故事:共享领域功能198


第9章 数据所有权和分布式事务202

9.1 分配数据所有权203

9.2 单一所有权场景204

9.3 公共所有权场景204

9.4 共同所有权场景206

9.5 数据所有权总结212

9.6 分布式事务213

9.7 最终一致性模式215

9.8 Sysops Squad的传奇故事:工单处理的数据所有权224


第10章 分布式数据访问227

10.1 服务间通信模式228

10.2 列schema复制模式230

10.3 复制缓存模式231

10.4 数据领域模式234

10.5 Sysops Squad的传奇故事:工单分配的数据访问236


第11章 管理分布式工作流239

11.1 集中编排式通信241

11.2 分散协作式通信244

11.3 权衡集中编排与分散协作251

11.4 Sysops Squad的传奇故事:工作流管理252


第12章 事务Saga257

12.1 事务Saga的8种模式258

12.2 状态管理与最终一致性279

12.3 管理Saga的手段282

12.4 Sysops Squad的传奇故事:原子性事务和补偿更新284


第13章 契约290

13.1 严格契约与宽松契约291

13.2 微服务中的契约295

13.3 邮戳耦合299

13.4 Sysops Squad的传奇故事:管理工单契约301


第14章 管理分析型数据303

14.1 以前的方法303

14.2 数据网格309

14.3 Sysops Squad 的传奇故事:数据网格314


第15章 打造你自己的权衡分析317

15.1 找出彼此纠缠的部分318

15.2 权衡利弊的技巧321

15.3 Sysops Squad的传奇故事:尾声331


猜您喜欢

读书导航