(1)作者资深:作者范钢、孙玄都是资深架构专家,在行业内有一定影响力,目前孙玄专注于架构师培养领域,其创办的奈学教育累计培养了大量高薪架构师。
(2)内容新颖:本书提供了一套方法更优的企业级应用架构设计方法论,助你领悟架构的本质,构建高质量的企业级应用。
(3)实操性强:详细阐述当下热门的分布式系统和大数据平台的架构方法,提供可复用的经验,可操作性极强。
(4)专家力荐:本书获得了来自腾讯、阿里、百度、京东、滴滴、谷歌、IBM等企业的资深技术专家一致推荐。
●关注“华章计算机”回复“68502”,获取书中代码。
这是一部尝试从架构本质的角度对传统的企业级应用架构方法进行优化的著作,不仅提供了一套更优化的企业级应用架构方法论,能指导读者构建高质量的应用;而且对当下热门的分布式系统和大数据平台的架构方法进行了详细讲解,通过大量案例提供了可直接复用的经验。
两位作者在大型上市科技公司和大型互联网企业从事研发和架构工作多年,本书融合了他们在不同领域的架构经验。全书一共11章,分为三个部分:
第①部分(第 1~6 章)架构设计方法论
总结了一套切实可行、操作性强的高质量架构方法——“5视图架构设计法”,并引入了领域驱动设计、规模化敏捷等先进的设计思想。
第②部分(第 7~9章) 分布式架构设计与实践
从实战的角度讲解了分布式系统的架构与设计,包括分布式的核心技术、微服务的架构设计,以及基于云端的分布式部署,旨在帮助读者构建支持高并发、高可用的系统架构。
第③部分(第 10、11 章) 大数据架构设计
从更宏大的视角介绍了大数据平台的架构与设计,包括数据中台以及大数据技术中台建设思路、路线图和实践经验。
【第一部分 架构设计方法论】
第1章 架构师的修炼5
1.1 何为软件架构5
1.1.1 常见研发场景6
1.1.2 准确理解软件架构7
1.2 如何成为合格的架构师9
1.2.1 架构师的职责9
1.2.2 架构师的思维模式10
1.3 如何成为顶级的架构师12
1.3.1 能够将业务转换为技术13
1.3.2 能合理利用技术支撑业务13
1.3.3 具备前瞻思维和战略思维15
1.4 “5视图法”架构设计16
第2章 逻辑架构设计18
2.1 用例模型分析19
2.1.1 用例模型20
2.1.2 由粗到细的用例分析21
2.1.3 用例描述23
2.1.4 事件流25
2.1.5 业务需求列表29
2.1.6 需求规格说明书30
2.2 界面原型分析32
2.3 领域模型分析34
2.3.1 软件退化的根源34
2.3.2 两顶帽子的设计方式38
2.3.3 领域驱动的设计思想41
2.3.4 领域驱动的变更设计42
2.3.5 领域驱动设计总结48
2.4 技术可行性分析50
第3章 数据架构设计52
3.1 数据架构的设计过程52
3.2 基于领域的数据库设计54
3.2.1 传统的4种关系55
3.2.2 继承关系59
3.2.3 NoSQL数据库的设计61
3.3 基于领域的程序设计63
3.3.1 服务、实体与值对象64
3.3.2 贫血模型与充血模型64
3.3.3 聚合70
3.3.4 仓库与工厂71
3.3.5 问题域和限界上下文75
第4章 开发架构设计78
4.1 系统规划与接口定义78
4.1.1 系统规划79
4.1.2 接口定义80
4.2 系统分层与整洁架构82
4.2.1 系统分层82
4.2.2 底层技术更迭84
4.2.3 整洁架构设计86
4.2.4 易于维护的架构88
4.3 技术中台建设90
4.3.1 增删改的架构设计91
4.3.2 查询功能的架构设计94
4.3.3 支持领域驱动的架构设计99
4.3.4 支持微服务的架构设计107
4.4 技术选型与技术规划109
4.4.1 软件正确决策的过程109
4.4.2 商用软件与开源框架110
4.5 模块划分与代码规范111
第5章 运行架构设计114
5.1 属性→场景→决策115
5.2 非功能性需求117
5.3 恰如其分的架构设计117
5.4 技术架构演化118
5.4.1 意图架构119
5.4.2 使能故事120
5.4.3 架构跑道122
5.4.4 我们的实践122
5.5 技术改造与软件重构124
5.5.1 架构师的十年奋斗125
5.5.2 演化式的技术改造思路126
5.5.3 一个遗留系统改造的故事127
第6章 物理架构设计131
6.1 集中式与分布式132
6.2 网络架构图134
6.3 系统架构与应用架构135
【第二部分 分布式架构设计与实践】
第7章 分布式架构设计141
7.1 互联网架构演进141
7.1.1 All-in-One架构142
7.1.2 流量在1000万以内的架构设计143
7.1.3 流量在1000万以上的架构设计147
7.1.4 流量在5000万以上的架构设计155
7.1.5 亿级流量的架构设计160
7.2 分布式技术165
7.2.1 分布式缓存165
7.2.2 内存数据库169
7.2.3 分布式事务173
7.2.4 分布式队列179
7.2.5 分布式数据库182
第8章 微服务架构设计192
8.1 为什么要采用微服务架构192
8.1.1 快速变化需要快速交付192
8.1.2 打造高效的团队组织193
8.1.3 大前端+技术中台196
8.1.4 小而专的微服务197
8.1.5 微服务中的去中心化概念199
8.1.6 互联网转型利器202
8.2 微服务的关键技术204
8.2.1 注册中心205
8.2.2 服务网关219
8.2.3 熔断机制227
8.3 微服务的系统设计235
8.3.1 6种设计模式235
8.3.2 微服务设计实践244
8.3.3 微服务测试调优262
8.4 微服务项目实战过程276
8.4.1 在线订餐系统项目实战278
8.4.2 统一语言与事件风暴278
8.4.3 子域划分与限界上下文282
8.4.4 微服务拆分与设计实现284
第9章 基于云端的分布式部署290
9.1 DevOps与快速交付290
9.2 Docker容器技术292
9.2.1 虚拟技术与容器技术292
9.2.2 对Docker容器的操作294
9.2.3 用Dockerfile制作镜像296
9.2.4 微服务的Docker容器部署297
9.2.5 Docker容器的应用298
9.2.6 搭建Docker本地私服299
9.3 Kubernetes分布式容器管理299
9.3.1 微服务发布的难题299
9.3.2 Kubernetes的运行原理300
9.3.3 Kubernetes的应用场景303
9.3.4 Kubernetes的虚拟网络304
9.3.5 用Kubernetes部署微服务305
9.3.6 用有状态集部署组件308
9.3.7 Kubernetes应用实践310
9.4 自动化运维平台实践312
【第三部分 大数据架构设计】
第10章 大数据时代变革319
10.1 从IT时代向DT时代转变319
10.2 数据分析与应用319
10.2.1 数据应用的发展历程320
10.2.2 数据应用的成熟度321
10.3 数据中台建设325
10.3.1 对数据中台的正确理解325
10.3.2 数据中台建设的核心326
10.3.3 数据中台的建设思路332
10.3.4 数据中台的技术架构333
第11章 大数据技术中台335
11.1 大数据技术335
11.1.1 Hadoop技术框架336
11.1.2 Spark技术框架339
11.2 大数据采集345
11.2.1 结构化数据采集346
11.2.2 非结构化数据采集347
11.3 大数据治理350
11.3.1 SparkSQL大数据开发中台351
11.3.2 ETL过程的设计实践353
11.3.3 数据仓库建设357
11.3.4 数据标签设计360
11.4 大数据展示362
11.4.1 大数据索引363
11.4.2 多维模型分析367
11.4.3 HBase数据库369
温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录
●作者结合自身多年的实践经验,深入浅出地介绍了架构设计的核心要义和实践要点。内容涵盖了分布式系统、微服务和数据中台的架构设计,具有很高的参考价值。
—— 陈耿 Google资深云架构师
●作者自创的“5视图架构设计法”具有极强的可操作性。本书详细阐述了架构的深度与广度,对于致力于成为高级架构师的读者,本书会让你受益匪浅。
—— 梁李印 滴滴大数据技术总监
●本书中的架构设计方法论是对现有企业软件架构方法的升级与优化,有着非常高的参考与借鉴价值。书中有大量案例,稍做提炼便可直接复用。
—— 刘天斯 腾讯技术总监
●本书所呈现的全局技术视野和架构思维模式,可以帮助读者从更高的视角和维度重新认识和思考“架构真意”。
—— 茹炳晟 腾讯技术工程事业群基础架构部T4级专家/腾讯研究院特约研究员
●本书系统总结了一套优秀的软件架构设计方法论,讲解了大型分布式系统架构、云原生架构和大数据架构的实践,具有较强的实用性和参考价值。
—— 王猛 百度智能云事业群组技术委员会联席主席/百度杰出架构师
●这本书高屋建瓴地将架构设计与软件技术有机融合,从架构角度指导企业IT建设,提供切实可行、操作性强的架构设计方法,对企业数字化转型有十分重要的意义。
—— 魏新宇 红帽副首席架构/《OpenShift在企业中的实践》《云原生应用构建》作者
●这是一本难得的既能给你指明方向,又能手把手教你落地实践的“架构真意”。
—— 张建飞 阿里巴巴高级技术专家/畅销书《代码精进之路》作者
●本书做到了明势、取道、优术,作者将自己多年沉淀的经验分享给广大技术人员,是所有架构师都值得一读的佳作。
—— 周志明 远光软件研究院院长/《深入理解Java虚拟机》作者