《架构宝典》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:中生代技术社区著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121360664
  • 页数:263 页
图书介绍:本书从架构设计概念、方法、模式、实践案例等四个方面进行阐述,内容丰富,是一本可以很好指导实践的书籍,更是各位资深专家和架构师的经验总结。本书共分为四部分:第一部分将介绍架构设计的概念、方法论,以及架构师的核心能力;第二部分将介绍微服务架构选型、架构模式与实践、数据一致性保证、微服务与DevOps的关系以及如何设计云微服务架构;第三部分将介绍移动电商、消费信贷、支付系统、金融撮合等领域的优秀实践;第四部分将介绍优化系统架构性能的方法论、案例、关键技术等。本书适合即将步入架构领域的技术专家,以及致力于提升软件架构设计能力的架构师、设计人员和开发人员阅读,希望本书能够为读者的实际工作和个人成长提供帮助。

第1篇架构方法论 2

1 有关架构的概念认知 2

1.1 引言 2

1.2 认识架构 2

1.3 规划、架构与设计 4

1.3.1 三个不同层次的概念 4

1.3.2 规划与架构 4

1.3.3 架构与设计 5

1.4 解耦与服务化 6

1.5 分工与组件化 6

1.6 集中与分布 7

1.7 规划还是演化 8

1.8 简化也很必要 9

1.9 架构与软件开发(软件过程) 11

1.9.1 敏捷软件开发 11

1.9.2 敏捷软件开发与微服务架构 12

1.10 探讨传统企业IT系统架构 12

1.10.1 从架构角度解决企业应用痛点 13

1.10.2 企业应用系统架构服务化迁移步骤 13

1.10.3 企业应用系统架构服务化参考模型 14

1.11 总结 15

2 以终为始的架构设计 16

2.1 缘起 16

2.2 我们的思考方式 17

2.3 为什么要做架构设计 18

2.3.1 由模型到实施 18

2.3.2 业务规模发展带来的复杂度 19

2.3.3 从沟通视角看软件架构 20

2.4 如何做架构设计 20

2.4.1 以终为始,不忘初心 21

2.4.2 PMC框架 21

2.4.3 从多视角、多层次看架构 23

2.4.4 满足利益相关者的需要 25

2.4.5 聚焦SLA 26

2.4.6 抽象、协作、扩展、复用 28

2.4.7 分析全息视图 29

2.5 架构是什么 29

2.5.1 架构兼具组成和决策的特点 30

2.5.2 架构是演进来的 30

2.5.3 无纯粹的非功能特性 31

2.6 总结 32

3 闭环架构方法 34

3.1 系统提升的一般性方法和反馈环 34

3.2 产品创新闭环 36

3.3 组织闭环 37

3.4 研发流程闭环 39

3.5 系统架构闭环 40

3.6 一个反馈闭环实例 41

3.7 总结 44

4 复杂与架构演进的关系 46

4.1 什么是复杂 46

4.1.1 规模 47

4.1.2 结构 51

4.1.3 变化 58

4.2 用架构思维控制复杂 67

4.2.1 分而治之,控制规模 67

4.2.2 保持架构的清晰与一致 67

4.2.3 拥抱变化 70

4.3 总结 71

5 架构师的核心能力 72

5.1 架构师承担的职责 72

5.2 架构师的核心能力 73

5.2.1 经验 73

5.2.2 沟通 74

5.2.3 快速学习 74

5.2.4 解决问题的能力 76

5.3 架构能力的修炼 76

5.4 总结 77

第2篇 面向架构的架构(微服务) 80

6 快速继承微服务实践 80

6.1 概述 80

6.2 我们希望的微服务是什么样子的 81

6.3 实现微服务 82

6.4 实现的考量及调研 83

6.4.1 gRPC有什么问题 83

6.4.2 如何提高易用性 83

6.5 让微服务快速落地 87

6.6 总结 89

7 微服务架构下的事务处理 90

7.1 概述 90

7.2 使用传统的本地事务和分布式事务保证一致性 90

7.3 在微服务架构中应满足数据最终一致性原则 92

7.4 微服务架构实现最终一致性的三种模式 92

7.4.1 可靠事件模式 93

7.4.2 业务补偿模式 101

7.4.3 TCC(Try-Confirm-Cancel)模式 106

7.5 总结 109

8 微服务架构模式与实践 110

8.1 微服务的主要架构模式 110

8.1.1 一体化模式 110

8.1.2 聚合模式 110

8.1.3 代理模式 111

8.1.4 资源共享模式 112

8.1.5 异步消息模式 112

8.2 大量微服务带来的挑战 112

8.3 微服务在好雨的解决方案 113

8.3.1 服务发现和注册 113

8.3.2 弹性伸缩与负载均衡 115

8.3.3 容错处理(断路器与限流) 116

8.3.4 监控与报警 116

8.3.5 数据存储与共享 116

8.3.6 日志分析 117

8.4 总结 118

9 微服务与DevOps架构实践 119

9.1 概述 119

9.2 某金融创业公司的微服务架构选型 122

9.3 设计思想 124

9.4 总体架构 125

9.4.1 总体架构的特性 125

9.4.2 具体实现 126

9.5 对微服务的支撑 128

9.6 DevOps平台总体架构 130

9.7 面向微服务的研发团队介绍 131

9.8 总结 133

10 基于云的微服务架构 134

10.1 概述 134

10.2 德比软件数据对接平台的架构 134

10.3 德比软件微服务架构基础设施 135

10.4 API网关 136

10.5 服务框架 136

10.5.1 高可用RPC 137

10.5.2 服务依赖管理 138

10.6 基础服务 140

10.6.1 配置中心 140

10.6.2 安全数据服务 141

10.6.3 数据存储服务 141

10.6.4 订单服务 142

10.7 服务降级 142

10.8 自动化 142

10.9 日志处理 143

10.10 调用链追踪 144

10.11 服务健康状态 144

10.11.1 报警 144

10.11.2 监控 145

10.12 发布管理 146

10.13 总结 147

11 Service Fabric:平台架构解析 148

11.1 Service Fabric概述 148

11.1.1 Service Fabric的特点 148

11.1.2 Service Fabric的适用场景 149

11.2 Service Fabric编程模式 150

11.3 Service Fabric服务通信 152

11.3.1 Service Fabric的微服务开发工具 153

11.3.2 对Service Fabric的微服务进行监控和诊断 153

11.4 Service Fabric可靠服务概述 154

11.4.1 Service Fabric可靠服务——有状态服务的体系结构 154

11.4.2 Service Fabric可靠服务——无状态服务的体系结构 156

11.4.3 Service Fabric可靠服务——备份 157

11.5 Service Fabric可靠执行组件 157

11.6 Service Fabric容器应用程序 159

11.7 总结 160

第3篇面向业务的架构 162

12 如何搭建高可伸缩的移动电商架构 162

12.1 概述微服务的主要架构模式 162

12.2 移动端的混合架构 162

12.3 服务器端的SOA架构 164

12.4 PC端和移动端的开发协作管理 166

12.5 基于容器的虚拟化 166

12.6 关于电商的私有云建设 167

12.7 如何应用弹性云来应对电商大促 169

12.8 应对电商大促峰值的“独孤九剑” 170

13 消费信贷系统“白付美”是如何持续优化的 172

13.1 “白付美”介绍 172

13.2 “白付美”从0到1 172

13.3 大促期间的性能保证 174

13.4 大促期间的稳定性保证 177

13.5 为服务多平台所做的优化 178

13.6 未来的优化方向 179

13.7 总结 180

14 美丽联合集团支付系统架构演进 182

14.1 概述 182

14.2 支付系统1.0 182

14.2.1 业务问题 183

14.2.2 系统问题 184

14.2.3 资金问题 185

14.3 支付系统2.0 185

14.3.1 拆分系统边界 185

14.3.2 支付系统2.0系统详解 187

14.3.3 统一平台业务上下文 192

14.3.4 直面数据一致性挑战 192

14.4 性能提升 194

14.5 稳定性提升 201

14.5.1 监控先行 201

14.5.2 分离核心链路 201

14.5.3 服务依赖梳理 203

14.5.4 限流降级 203

14.6 压测 204

14.7 成效 204

14.7.1 业务支撑能力 204

14.7.2 系统服务能力 205

14.8 总结 206

15 金融撮合架构 207

15.1 概述 207

15.2 系统总体设计 208

15.2.1 系统核心模块 208

15.2.2 撮合算法设计 209

15.2.3 基于内存撮合 212

15.2.4 灾备的多机设计 212

15.2.5 状态机复制 213

15.2.6 系统架构 215

15.3 总结 218

第4篇 面向性能的架构 220

16 一线架构师带你玩性能优化 220

16.1 什么是系统优化 220

16.2 系统优化的方法论、思路和原则 220

16.2.1 常用方法论 221

16.2.2 优化思路 221

16.2.3 优化原则 222

16.3 性能优化 222

16.3.1 常见的性能问题 222

16.3.2 性能优化的具体工作 223

16.3.3 JVM优化 230

16.3.4 数据库优化 233

16.3.5 负载均衡优化 235

16.4 总结 237

17 性能优化的常见模式及趋势 238

17.1 性能优化的优缺点 238

17.2 性能优化的两种模式 239

17.3 单应用优化 239

17.3.1 优化的基本思路 239

17.3.2 确定性能瓶颈/热点的常见方法 240

17.3.3 压测时通常观察的内容及其所使用的工具 240

17.3.4 常见的优化手段及模式 240

17.4 结构型优化 241

17.5 两个结构型优化的案例 245

17.5.1 处理单点/网络瓶颈的可行方式 245

17.5.2 处理数据库连接池瓶颈的可行手段 245

17.6 总结 247

18 性能优化之几种常见的压测模型及其优缺点 248

18.1 压测模型抽象 248

18.1.1 压测环境准备 249

18.1.2 压测任务准备 249

18.1.3 压测执行闭环 249

18.2 线下压测模型 250

18.3 线上引流压测模型 251

18.4 线上全链路压测模型 252

18.5 总结 253

19 缓存为王——无线缓存架构优化 254

19.1 无线缓存的定义、限制条件及影响 254

19.2 无线缓存要从全局考虑 254

19.2.1 服务器端架构对无线缓存的影响 254

19.2.2 无线缓存对服务器端架构的影响 255

19.2.3 大流量下无线缓存作用的劣化 256

19.2.4 无线缓存与本机移动端组件的关系 256

19.2.5 无线缓存存储介质的选择 257

19.3 数据、资源缓存及失效策略 257

19.3.1 架构详论 257

19.3.2 实现失效策略 259

19.4 总结 263