架构宝典

相关资料

[

非常荣幸能够提前阅读中生代技术社区这本新书的初稿,并给本书写评语。本书集国内众多资深架构师智慧之所长,对架构方法论、微服务架构、业务架构、性能优化4个方面进行了详细讲解。学习架构知识就需要参考这样的好书,建议希望深入学习架构知识的朋友们阅读这本宝典。
—— 黄勇,《架构探险——从零开始写Java Web框架》作者

架构是软件工程的实践艺术,要化理想为现实,不是空中楼阁。懂得再多的设计理念、方法论,光说不练还是假把式,只有做出来并获得认可才是真功夫。这本宝典汇集了业界许多成功案例,不讲空话,诚意满满!
——史海峰,微信公众号“IT民工闲话”作者

架构一词*早源于建筑学领域,是指由各种构件组成的体系。而软件架构则要从可靠性、安全性、可扩展性、可伸缩性等方面进行描述。由中生代技术社区出品的《架构宝典》集众多技术专家之长,以理论为基础,以实战为出发点,汇集了很多可落地的架构方案,是一本值得期待的工具书。
——程超,《深入分布式缓存:从原理到实践》作者

感谢中生代技术社区把这么多技术大咖聚集起来共同完成这一杰作。架构是持续迭代的,用于满足业务快速发展、降低重构风险!本书是多位技术专家结合实战经验并进行思维碰撞所产生的杰作,必然会为众多技术从业者提供快速学习和实践的参考!
——李彦辉,快CTO创始人

Metaphors We Live By一书中提到,人类的概念系统本质上是基于隐喻的。软件研发领域的“服务”“架构”“模式”和“设计”等均是通过对建筑等其他领域的工作内容进行隐喻而得来的概念。因此对于很多从业人员来说,它们具体意味着什么,只可意会,不可言传。本书尝试从方法论进行梳理,然后从微服务架构切入,进行深度演绎,*后辅以大量的业务场景实战,让读者更好地理解和消化“架构”的意义和构建方法,是抽象理论和实践经验相结合的佳作。
——李昊,满帮集团高级技术总监

]

本书特色

[

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

]

内容简介

[

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

]

作者简介

[

中生代技术社区:成立于2015年12月,取名为“中生代”是因为社区内包含了许多承上启下的技术人,这些技术人是技术的中坚力量,知识的中产阶级,社区致力于传播前辈的技术精神,增强中生代的技术实力,最重要的是挖掘新生代的技术潜力。社区聚集了10万多名IT行业人员,包括软件工程师、运维人员、架构师等,其中技术负责人、技术总监、CTO,以及技术公司创始人等5000多名;此外,社区还组织了各种线上、线下技术分享活动,分享的主题涉及云计算、微服务、电子商务、FinTech、研发管理、人工智能、大数据、区块链等。

]

目录

第1 篇 架构方法论
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 篇 面向架构的架构(微服务)
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 篇 面向业务的架构
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 篇 面向性能的架构
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

封面

架构宝典

书名:架构宝典

作者:中生代技术社区

页数:280

定价:¥75.0

出版社:电子工业出版社

出版日期:2018-09-01

ISBN:9787121360664

PDF电子书大小:78MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注