首页>参考读物>计算机科学与技术>软件与程序设计

架构真意:企业级应用架构设计方法论与实践
作者 : 范钢,孙玄 著
丛书名 : 架构师书库
出版日期 : 2021-07-05
ISBN : 978-7-111-68502-9
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 381
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书分三大部分:
首先是部分,架构设计方法论。这部分首先侃侃而谈,为架构师成长指引道路。然后,以“5视图法”架构设计为主线,同时穿插领域驱动设计、整洁架构设计、大前端+技术中台等思想,为读者展现一整套严密、完整,且落地可操作的架构设计方法。后,探讨另一个难题:技术架构改造,并提出架构跑道、使能故事、架构重构等一系列方法。
之后是第二部分,分布式架构设计与实践。这部分从实践的角度讲解目前非常流行的互联网分布式架构的设计思路、软件架构,以及涉及的软件技术,让读者在应对这一类型的系统时,对架构设计、技术选型、架构演化,都有一个清楚的认识。
第三部分,大数据架构设计。这部分首先从宏观的角度描绘未来大数据、人工智能的发展方向、商业应用,以及技术发展趋势,以及5G/物联网背景下新的发展动向。然后,从大数据技术、数据治理、数据分析和人工智能等几个方面,讲解大数据架构设计。

图书特色

资深架构专家撰写,腾讯、阿里、百度、京东、滴滴、谷歌、IBM等企业的资深技术专家一致推荐!
提供方法更优的企业级应用架构设计方法论,助你领悟架构的本质,构建高质量的企业级应用。
详细阐述当下热门的分布式系统和大数据平台的架构方法,提供可复用的经验,可操作性极强。

图书前言

为什么要写这本书
近几年,国内软件行业发展迅猛,软件规模与复杂度不断提高,对架构设计的需求因而越来越强烈。
虽然各个软件公司或多或少都在进行架构设计这项工作,但没有一个简单易行、切实落地的架构设计方法论来指导大家按照某种规范做事。正因如此,很多人不知道怎样高效、高质量地设计架构,只能东一榔头西一棒槌,有些人甚至对什么是架构设计都不甚了解,这样只会导致架构杂乱无章、随意或者不全面。这种低质量的架构既不能有效地规避项目进行过程中的各种风险,也不能指导大规模开发团队有效协作,进而导致在软件开发及日后运维过程中出现各种问题。在这种状况下,软件企业也无法更好地应对微服务转型、大数据转型、物联网转型等诸多技术挑战。
笔者从事架构设计及相关教学工作多年,总结出了一套操作性强的架构设计方法论,希望能够帮助更多读者成为顶级架构师。这就是笔者写这本书的初衷。
读者对象
本书适合以下读者:
积极参与系统架构设计,期望今后成为架构师的开发人员;
希望进一步提升自己、成为顶级架构师的架构师;
希望规范架构设计的企业高管;
希望解决互联网转型、大数据转型过程中的架构难题的架构师。
本书特色
本书的特色可归纳为如下三个方面:
落地、实践,为架构师提供切实可行、操作性强的架构设计方法;
难题、方案,为架构师解决项目实践中的设计难题提供思路与方案;
前瞻、全局,为架构师展现未来技术发展趋势。
关于书名
陶渊明在《饮酒·其五》写道:

“结庐在人境,而无车马喧。
问君何能尔?心远地自偏。
采菊东篱下,悠然见南山。
山气日夕佳,飞鸟相与还。
此中有真意,欲辨已忘言。”

这里的“真意”就是指从大自然里领悟到人生的真谛。
此外,在这几年一些爆红的国漫中,“真意”被用来给一些顶尖的功法或招数命名。比如,《雪鹰领主》中有“水之真意”“火之真意”“风之真意”等,意思是修行者在领悟了水、火、风等的本原和法则后,就能将它们的威力发挥到极致。
本书旨在讲清楚架构的本质和底层逻辑,让读者能真正明白架构的真谛,这便是书名中“架构真意”的由来。
如何阅读本书
本书分为三部分。
第一部分(第1~6章)为架构设计方法论,介绍了一套切实可行、操作性强的高质量架构方法—5视图架构设计法,并引入了领域驱动设计、规模化敏捷等先进的设计思想。
第二部分(第7~9章)站在实战的角度,讲解了互联网分布式架构的设计与实践,包括分布式架构的演进,如何构建高并发、高可用的系统架构,以及向微服务转型、分布式云端部署的过程。
第三部分(第10、11章)站在更宏大的视角,介绍了大数据技术架构的设计与实践,其中谈到了数据中台的建设以及它所基于的大数据技术中台,详述了建设思路、路线图以及技术实践。
勘误和支持
由于笔者水平有限,书中难免会出现一些错误或不准确的地方,恳请读者批评指正。如果你有更多宝贵意见,可以发送邮件至lcl@hzbook.com与我真诚交流和反馈。文中提到的所有代码及源文件都放在了https://github.com/mooodo。此站点还汇集了笔者的一些项目实践,并且会持续更新。
致谢
感谢机械工业出版社华章分社的杨福川编辑与栾传龙编辑,你们在这一年时间里始终给予我们写作方面的支持,你们的鼓励与帮助是我们顺利完成书稿的保证。
感谢奈学教育团队给予我们的帮助,你们提出了很多宝贵的意见,你们是很棒的团队。
最后,感谢我们的家人在这一年艰苦写书的过程中给予我们的理解与帮助,你们的理解让我们能够心无旁骛地专心写书,回馈广大读者。

上架指导

计算机\程序设计

封底文字

作者结合自身多年的实践经验,深入浅出地介绍了架构设计的核心要义和实践要点。内容涵盖了分布式系统、微服务和数据中台的架构设计,具有很高的参考价值。
—— 陈耿 Google资深云架构师
作者自创的“5视图架构设计法”具有极强的可操作性。本书详细阐述了架构的深度与广度,对于致力于成为高级架构师的读者,本书会让你受益匪浅。
—— 梁李印 滴滴大数据技术总监
本书中的架构设计方法论是对现有企业软件架构方法的升级与优化,有着非常高的参考与借鉴价值。书中有大量案例,稍做提炼便可直接复用。
—— 刘天斯 腾讯技术总监
本书所呈现的全局技术视野和架构思维模式,可以帮助读者从更高的视角和维度重新认识和思考“架构真意”。
—— 茹炳晟 腾讯技术工程事业群基础架构部T4级专家/腾讯研究院特约研究员
本书系统总结了一套优秀的软件架构设计方法论,讲解了大型分布式系统架构、云原生架构和大数据架构的实践,具有较强的实用性和参考价值。
—— 王猛 百度智能云事业群组技术委员会联席主席/百度杰出架构师
这本书高屋建瓴地将架构设计与软件技术有机融合,从架构角度指导企业IT建设,提供切实可行、操作性强的架构设计方法,对企业数字化转型有十分重要的意义。
—— 魏新宇 红帽副首席架构/《OpenShift在企业中的实践》《云原生应用构建》作者
这是一本难得的既能给你指明方向,又能手把手教你落地实践的“架构真意”。
—— 张建飞 阿里巴巴高级技术专家/畅销书《代码精进之路》作者
本书做到了明势、取道、优术,作者将自己多年沉淀的经验分享给广大技术人员,是所有架构师都值得一读的佳作。
—— 周志明 远光软件研究院院长/《深入理解Java虚拟机》作者

作者简介

范钢,孙玄 著:暂无

图书目录

前言
第一部分 架构设计方法论
第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

教学资源推荐
作者: [日]迈克尔·麦库尔(Michael McCool) [美]阿奇·D. 罗宾逊(Arch D. Robison) [美]仁达敬(James Reinders)著
作者: [美]布兰德利·N. 米勒(Bradley N. Miller) 大卫·L. 拉农(David L. Ranum) 朱莉·安德森(Julie Anderson) 著
作者: 苏小红 蒋远 单丽莉 李东 编著
作者: 刘奇志 尹存燕 曹迎春 编著
参考读物推荐
作者: (美)Luis Ennsen等
作者: 马俊昌 著