架构宝典
  • 推荐0
  • 收藏1
  • 浏览1.2K

架构宝典

中生代技术社区 , 王友强 (作者) 

  • 书  号:978-7-121-36066-4
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:刘恩惠
电子书 ¥45.00
购买电子书
纸质版 ¥75.00
本书从架构设计概念、方法、模式、实践案例等4 个方面进行阐述,内容丰富,是一本可以很好指导实践的书籍,更是各位资深专家和架构师的经验总结。
本书共分为4 部分:第一部分介绍架构设计的概念、方法论,以及架构师的核心能力;第二部分介绍微服务架构选型、架构模式与实践、数据一致性保证、微服务与DevOps 的关系以及如何设计云微服务架构;第三部分介绍移动电商、消费信贷、支付系统、金融撮合等领域的优秀实践;第四部分介绍优化系统架构性能的方法论、案例、关键技术等。
本书适合即将步入架构领域的技术专家,以及致力于提升软件架构设计能力的架构师、设计人员和开发人员阅读,希望本书能够为读者的实际工作和个人成长提供帮助。
架构方法论 | 微服务架构 | 各领域业务架构实践 | 架构性能优化
中生代技术社区:成立于2015年12月,取名为“中生代”是因为社区内包含了许多承上启下的技术人,这些技术人是技术的中坚力量,知识的中产阶级,社区致力于传播前辈的技术精神,增强中生代的技术实力,最重要的是挖掘新生代的技术潜力。
社区聚集了10万多名IT行业人员,包括软件工程师、运维人员、架构师等,其中技术负责人、技术总监、CTO,以及技术公司创始人等5000多名;此外,社区还组织了各种线上、线下技术分享活动,分享的主题涉及云计算、微服务、电子商务、FinTech、研发管理、人工智能、大数据、区块链等。
前言
软件架构定义的多样性和各个企业对架构师的定位不同,导致很多程序员在向架构师转型的过程中有些茫然。本书汇聚了国内一线互联网公司的技术架构专家、架构领域布道者在架构方法论、微服务、业务架构、性能架构几个方面的经验,从系统架构设计和实践方法与技巧两个方面进行阐述,非常具有指导意义,希望读者能在这里找到解惑的钥匙或突破瓶颈的方法。
这本书在形式上与《论语》类似,是汇集各个领域专家经验的文集,读者可以根据自己的关注点有针对性地进行阅读,既可以纵向了解各个行业IT 系统建设的演进过程,也可以横向对比分析某类问题的解决思路和方法。
本书共分为4 部分:
第一部分将介绍架构设计的概念、方法论、架构治理,以及架构师需要具备的核心能力等基础内容,能让读者对架构设计的整个过程有一个基础的认知。
第二部分将介绍微服务的各个细节,包括架构设计的技术选型、架构模式与实践、数据一致性保证、微服务与DevOps 的关系,以及如何设计云微服务架构。通过这一部分的学习,读者将了解微服务建设涉及的方方面面内容。
第三部分将介绍移动电商、消费信贷、支付系统、金融撮合几个业务领域的优秀实践案例,以及系统架构设计和迭代演进的过程,从支撑业务发展的视角阐述架构设计和业务的关系。
第四部分将介绍优化系统架构性能的方法论、案例、关键技术等,希望能使读者了解性能优化的常见招式,并通过这些招式突破系统性能的瓶颈,明确当前应用所处的发展阶段及下一步演进的目标。
回想自己从程序员成长为架构师的历程,期间有过迷茫,也走过弯路,很庆幸在成长的各个阶段都遇到了一些挚友指点迷津,使我能在致力于成为一名合格架构师的道路上坚持探索。
我认为,个人能力的高低取决于很多方面的因素,它们之间满足如下关系:
能力=f(认知,洞察,实践,经验总结)
在按照上述公式中的几个关键因素审阅本书初稿并与各位作者进行交流的过程中,我受益匪浅。如果本书的相关内容能为读者进一步提升个人能力带来一点思考和裨益,那么作者们就心满意足了。
本书非常适合各位IT 从业者阅读、参考。能参与本书的出版,我深感荣幸,各位作者“开放、协作、分享”的互联网精神令我非常敬佩。感谢各位作者和本书编辑刘恩惠,他们认真负责、不辞劳苦地对本书进行了多次修订和审校,提出了很多有价值的意见,保证了本书的质量。感谢几位参与前期内容创作的作者,他们提供的思路和建议,为本书最终出版做出了巨大的贡献。
孔庆龙
2019 年1 月

目录

第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

本书勘误

印次
  • 页码:20  •  行数:倒数8  •  印次: 1

    “使用PMC(Production Material Control,生产及物料控制)框架。”改为“使用PMC框架。”

    刘恩惠 提交于 2019/9/5 16:23:25
    陈晓猛 确认于 2019/9/5 18:42:38

读者评论

电子书版本

  • Epub

图书类别

相关图书

深入集群:大型数据中心资源调度与管理

李雨前 (作者)

本书内容聚焦资源侧:集群调度和管理,非一般性的应用集群调度和管理。尽管按集群调度和集群管理两大部分来进行内容组织,实质上这两部分是一体的。集群管理是为了保障集群...

¥89.00

Netty源码剖析与应用

刘耀林 (作者)

Netty涉及多线程技术、复杂数据结构与内存管理模型,它运用了各种设计模式及一些TCP的底层技术。本书对这些难点一一进行攻破,让读者能快速掌握相关知识。 本书...

¥62.30

架构解密:从分布式到微服务(第2版)

吴治辉 (作者)

微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术...

 

趣谈网络协议

刘超 (作者)

网络协议是每个程序员入门的必修课,但是完全掌握网络协议知识并进行实际应用却并非易事。在本书中,作者将结合自己从业多年的“泣血”经验,以通俗易懂、更加贴近日常生活...

¥108.00

大型系统应用架构实战:部署、容灾、性能优化

李彦超 郭东白 陈禹 谢松林 周志伟 桑植 (作者)

本书理论与实战相结合,以AliExpress 网站为基础,全面介绍大型系统的总体技术方案、全球区域化部署技术、全球网络调度技术、性能优化,以及SRE 在AliE...

 

Java微服务测试:基于Arquillian、Hoverfly、AssertJ、JUnit、Selenium与Mockito

Alex Soto Bueno, Jason Porter, Andy Gumbrecht (作者) 刘梦馨 (译者)

本书从实战出发,介绍微服务架构所带来的测试方面的挑战,以及如何利用新的技术来应对这些挑战。通过本书,读者可以学会如何编写微服务架构下的单元测试、组件测试、集成测...

¥89.00