作者 |
莫莉·赖特·斯廷森 |
丛书名 |
架构师书库 |
出版社 |
机械工业出版社 |
ISBN |
9782107091442 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8082131 - 架构真意:企业级应用架构设计方法论与实践--------------------------- 本书分三大部分: 首先是部分,架构设计方法论。这部分首先侃侃而谈,为架构师成长指引道路。然后,以“5视图法”架构设计为主线,同时穿插领域驱动设计、整洁架构设计、大前端+技术中台等思想,为读者展现一整套严密、完整,且落地可操作的架构设计方法。后,探讨另一个难题:技术架构改造,并提出架构跑道、使能故事、架构重构等一系列方法。 之后是第二部分,分布式架构设计与实践。这部分从实践的角度讲解目前非常流行的互联网分布式架构的设计思路、软件架构,以及涉及的软件技术,让读者在应对这一类型的系统时,对架构设计、技术选型、架构演化,都有一个清楚的认识。 第三部分,大数据架构设计。这部分首先从宏观的角度描绘未来大数据、人工智能的发展方向、商业应用,以及技术发展趋势,以及5G/物联网背景下新的发展动向。然后,从大数据技术、数据治理、数据分析和人工智能等几个方面,讲解大数据架构设计。 ---------------------------8071131 - 架构启示录--------------------------- 本书研究传统的建筑工作与数字产品的架构工作之间有着怎样的联系,探讨了Christopher Alexander、Richard Saul Wurman、Cedric Price 与Nicholas Negroponte 4 位建筑师的工作。作者总是先讨论他们在各自的工作中所用的技术范式,例如,他们所依循或提出的究竟是控制论领域之中的工作方法,还是人工智能或计算机程序与界面领域之中的工作方法。然后,探寻这几位建筑师怎样影响数字化的世界,例如怎样影响 1980 年代末至今的编程语言、信息架构,以及当前其他一些数字产品的设计工作。为此,我们要思考,这些工作与建筑有什么相通之处?这几位建筑师怎样运用计算机等技术来做试验,从而拓宽其工作领域?计算机、控制论以及人工智能方面的研究者与工程人员,能够通过这些建筑师与他们处理过的建筑问题,获得哪些启发?传统的建筑知识,对新兴的数字产品来说,有着什么样的意义? |
目录 |
[套装书具体书目] 8071131 - 架构启示录 - 9787111657446 - 机械工业出版社 - 定价 99 8082131 - 架构真意:企业级应用架构设计方法论与实践 - 9787111685029 - 机械工业出版社 - 定价 99 ---------------------------8082131 - 架构真意:企业级应用架构设计方法论与实践--------------------------- 前言 第一部分 架构设计方法论 第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 ---------------------------8071131 - 架构启示录--------------------------- 译者序 致谢 第1章 从传统的建筑到新兴的架构 …… 1 1.1 认识一下本书所要研究的几位建筑师 …… 3 1.2 architecture这个词的种种定义 …… 7 1.3 计算机与建筑学的变化 …… 9 1.4 用计算机提升建筑师的工作能力 …… 10 1.5 Architecture and the Computer Conference …… 13 1.6 对建筑学产生重要影响的各类计算技术 …… 15 第2章 Christopher Alexander:模式、秩序、软件 …… 21 2.1 Alexander小传 …… 22 2.2 为建筑学而设的操作系统 …… 24 2.3 顺着天意而行 …… 26 2.4 形象地展现复杂关系 …… 31 2.5 模式网络与模式语言 …… 47 2.6 生成能力 …… 55 2.7 Alexander对数字产品设计的影响 …… 58 2.8 软件中的模式 …… 59 2.9 把建筑学的设计理念引入软件领域 …… 67 2.10 不受其他建筑师待见的Alexander …… 72 2.11 结论 …… 76 第3章 Richard Saul Wurman:信息、制图、理解 …… 78 3.1 美国建筑师学会在费城举办的会议 …… 78 3.2 通过架构促进理解 …… 83 3.3 让事物彼此联系起来 …… 87 3.4 叙述方式 …… 95 3.5 沟通、融合、交流 …… 97 3.6 结论 …… 106 第4章 信息架构师 …… 108 4.1 Xerox、IBM与“信息架构” …… 109 4.2 “The Computer Reaches Out” …… 111 4.3 信息架构师与Web …… 115 4.4 结论 …… 126 第5章 Cedric Price:响应式的建筑与智能建筑物 …… 128 5.1 Price小传 …… 130 5.2 反建筑师与反建筑物 …… 132 5.3 供教学与交流用的建筑机器 …… 136 5.4 Generator …… 148 5.5 结论 …… 164 第6章 Nicholas Negroponte及MIT Architecture Machine Group——与人工智能对接 …… 165 6.1 “献给第一台能够理解手势的机器” …… 166 6.2 architecture machine理论 …… 170 6.3 “封闭的世界”与建筑研究的资金 …… 175 6.4 microworld与blocks world …… 177 6.5 为了获得资助而调整研究方向 …… 191 6.6 图形对话理论与国家科学基金 …… 193 6.7 “supreme usability” …… 198 6.8 Mapping by Yourself …… 210 6.9 媒体 …… 216 6.10 结论 …… 221 第7章 建造智能的世界 …… 224 注解 …… 229 精选书目 …… 283 |