作者 |
任寅姿 季乐乐 欧创新 邓頔 |
丛书名 |
出版社 |
机械工业出版社 |
ISBN |
9782106161530 |
简要 |
简介 |
这是一部系统讲解如何基于DDD思想实现中台和微服务协同设计和落地的著作。 它将DDD、中台和微服务三者结合,一方面,它为中台的划分和领域建模提供指导,帮助企业更好地完成中台建设,实现中台的能力复用;一方面,它为微服务的拆分和设计提供指导,帮助团队提升分布式微服务的架构设计能力。给出了一套体系化的基于DDD思想的企业级前、中、后台协同设计方法。 本书注重实战,汇聚了大量分布式架构的最新设计方法、思想和理念,同时包含大量的案例和代码,是理论与实践相结合的最佳经验分享。交互式的行文风格,文字有活力,内容不刻板,简洁易懂。 本书共分为六个部分: 第一部分 认识中台(第1~4章) 主要从业务中台、数据中台、技术中台以及与之匹配的组织架构等多个方面分析传统企业中台转型应该具备的能力,带你初步了解DDD是如何指导中台和微服务设计,并厘清它们的协作关系。 第二部分 DDD基本原理(第5~11章) 通过浅显易懂的案例讲解DDD的核心基础知识、设计思想、原则和方法等内容,了解它们之间的协作和依赖关系,做好中台实践前的准备工作。 第三部分 中台领域建模和微服务设计(第12~19章) 首先,通过案例手把手带你用DDD方法完成中台和微服务的全流程设计,深刻理解DDD在中台领域建模和微服务设计中的步骤、方法、设计思想和价值;然后,通过一个完整案例带你了解用DDD设计方法完成领域建模与微服务设计的全流程。 第四部分 前端设计(第20~21章) 引入微前端和单元化的设计思想,通过前端微服务化和单元化设计思想,解决业务中台建设完成后前端应用仍然为单体和前后端服务集成复杂的难点。此外,还探讨了基于领域模型的单元化设计方法。 第五部分 中台设计案例(第22章) 采用自顶向下的领域建模策略,通过案例讲解中台设计的完整流程。涵盖业务领域分解、中台领域建模、微服务和微前端设计、单元化设计以及业务和数据如何融合等内容。 第六部分 总结(第23~24章) 结合作者多年的设计经验和思考,阐述单体应用向微服务架构的演进策略、如何避免陷入DDD设计的常见误区、微服务设计原则以及分布式架构下的关键设计等内容。 |
目录 |
[套装书具体书目] 8075562 - 中台架构与实现:基于DDD和微服务 - 9787111666301 - 机械工业出版社 - 定价 89 8081042 - 标签类目体系:面向业务的数据资产设计方法论 - 9787111681625 - 机械工业出版社 - 定价 99 ---------------------------8081042 - 标签类目体系:面向业务的数据资产设计方法论--------------------------- 序一 序二 前言 由来篇 因何产生,为何需要 第1章 因:6大数据困局 1.1 数据孤岛,无法打通2 1.2 烟囱式建设,重复造轮子6 1.3 各说各话,没有统一口径9 1.4 鸡同鸭讲,无法穿透业务层12 1.5 数据人员的梦魇,数据治理永远没有尽头14 1.6 数据部门的尴尬,被命运扼住咽喉的成本中心18 第2章 源:6段由来过程 2.1 数据资产发展的4个阶段22 2.1.1 数据资产1.0:构建消费者信息库23 2.1.2 数据资产2.0:ID-Mapping打通数据27 2.1.3 数据资产3.0:全集团数据共享共荣30 2.1.4 数据资产4.0:更广泛领域的数据实践35 2.2 方法论抽象的2个阶段38 2.2.1 方法论0.1:方法梳理38 2.2.2 方法论1.0:原理研究42 2.3 标签在数据系统中的定位45 2.3.1 标签在数据资产中的位置45 2.3.2 标签在数据中台中的位置50 2.4 关键术语的定义和解释54 第3章 义:3点产生必要 3.1 数据资产可复用59 3.2 面向业务可理解64 3.3 数据价值可衡量69 理论篇 基础原理与演绎推导 第4章 道:4个核心原理 4.1 为什么要先讲道76 4.1.1 思维认知之重77 4.1.2 什么是道78 4.2 业务与数据的连接发展80 4.2.1 数据系统的发展历程80 4.2.2 业务系统与数据系统的关联 81 4.2.3 面向业务的数据资产组织形式83 4.3 根、枝干、叶/花83 4.3.1 树的根决定了这是一棵什么树84 4.3.2 树的枝干对应标签分类84 4.3.3 树的叶/花部分指向标签85 4.4 能量、养分和凋零91 4.4.1 实体树之间通过关系树连接92 4.4.2 从实体树叶子回溯打开关系树森林93 4.4.3 关系树向实体树赋予能量94 4.4.4 业务使用是对标签树的养分供给96 4.4.5 最终梳理出一片森林而非一棵树97 4.5 分形结构与资产树栽种模式97 4.5.1 完整规划,由浅入深99 4.5.2 纵深打穿,从局部直接截取101 4.6 资产树使用模式推演103 4.6.1 查询服务105 4.6.2 分析服务106 4.6.3 圈选服务108 第5章 法:完整的设计方法 5.1 3个构建前提110 5.1.1 统一的数据思维111 5.1.2 充分的前期调研115 5.1.3 正确的落地思路120 5.2 6个设计步骤123 5.2.1 识别对象123 5.2.2 同一对象数据打通125 5.2.3 数据化的事物表达130 5.2.4 构建数据类目体系133 5.2.5 构建标签类目体系138 5.2.6 前后台标签类目体系168 第6章 术:使用技法与重要问题 6.1 标签规范177 6.1.1 标签化178 6.1.2 元标签180 6.1.3 标签问题191 6.2 谈谈组合标签195 6.2.1 同一对象下的标签组合195 6.2.2 不同对象间的标签组合200 6.3 如何使用标签208 6.3.1 什么是平台级复用208 6.3.2 平台级复用的标签使用方式209 6.3.3 什么是服务组件、数据服务、数据应用系统210 6.3.4 服务组件的演变趋势214 6.4 标签怎么运营217 6.4.1 标签的全生命周期运营217 6.4.2 标签运营环节中的责任单位220 6.4.3 标签的运营闭环221 6.5 标签质量怎么看222 6.5.1 数据来源类相关指标222 6.5.2 标签加工过程相关指标223 6.5.3 标签使用过程相关指标224 6.6 标签成本怎么看224 6.6.1 标签数据源采集与存储成本225 6.6.2 标签设计与加工成本227 6.6.3 标签使用与营销成本228 6.7 标签价值怎么看229 6.7.1 标签价值的分类229 6.7.2 标签价值的衡量方式232 6.8 标签方法论与数仓建模的异同233 6.8.1 标签方法论与数仓建模的差异234 6.8.2 标签方法论与数仓建模的联系235 实践篇 商业实战中的价值涌现 第7章 器:标签工具和经典模板 7.1 标签工具238 7.1.1 标签体系设计239 7.1.2 标签同步与加工243 7.1.3 标签管理244 7.1.4 标签门户247 7.1.5 标签使用250 7.2 4个经典模板253 7.2.1 用户标签类目体系模板254 7.2.2 企业标签类目体系模板268 7.2.3 员工标签类目体系模板277 7.2.4 商品标签类目体系模板291 第8章 践:从标签到应用的5个最佳实践 8.1 实践1:银行业卡业务精准营销场景300 8.1.1 银行业卡业务标签设计301 8.1.2 银行业卡业务标签应用308 8.1.3 银行业卡业务实践小结310 8.2 实践2:汽车业整车厂商可视化大屏场景311 8.2.1 汽车业整车厂商标签设计312 8.2.2 汽车业整车厂商标签应用319 8.2.3 汽车业整车厂商实践小结323 8.3 实践3:制造业B2B平台供应链金融场景324 8.3.1 制造业B2B平台标签设计325 8.3.2 制造业B2B平台标签应用333 8.3.3 制造业B2B平台实践小结337 8.4 实践4:零售业电商千人千面推荐场景339 8.4.1 零售业电商标签设计340 8.4.2 零售业电商标签应用345 8.4.3 零售业电商实践小结347 8.5 实践5:地产业物管效能分析场景348 8.5.1 地产业物管标签设计349 8.5.2 地产业物管标签应用356 8.5.3 地产业物管实践小结358 第9章 果:价值、案例、经验分享 9.1 7点价值总结359 9.1.1 串联360 9.1.2 业务友好361 9.1.3 全息刻画362 9.1.4 可复用363 9.1.5 可管理364 9.1.6 可运营365 9.1.7 创新场景366 9.2 4个典型案例368 9.2.1 阿里巴巴集团典型案例368 9.2.2 时尚集团典型案例371 9.2.3 好莱客家居典型案例375 9.2.4 温州检察院典型案例380 9.3 3点培养经验385 9.3.1 深入业务385 9.3.2 胆大心细388 9.3.3 工匠精神391 ---------------------------8075562 - 中台架构与实现:基于DDD和微服务--------------------------- 序1 序2 为不确定而架构 前言 绪论 1 第一部分 认识中台 第1章 数字化中台初步认识与建设策略 13 1.1 平台是中台吗 13 1.2 中台到底是什么 14 1.3 传统企业中台的建设策略 15 1.4 如何实现前中后台的协同 17 1.4.1 前台 17 1.4.2 中台 18 1.4.3 后台 19 1.5 本章小结 20 第2章 企业中台能力框架 21 2.1 中台能力总体框架 21 2.2 业务中台 22 2.3 数据中台 23 2.4 技术中台 25 2.5 研发运营 28 2.6 云平台 29 2.7 能力聚合 29 2.8 组织架构及中台建设方法 30 2.9 本章小结 31 第3章 微服务设计为什么要选择DDD 32 3.1 软件架构的演进史 32 3.2 微服务拆分和设计的困境 34 3.3 为什么DDD适合微服务 35 3.4 本章小结 37 第4章 DDD、中台和微服务的关系 39 4.1 DDD和中台的本质 40 4.2 DDD、中台和微服务的协作 41 4.3 如何完成中台业务建模 43 4.4 本章小结 46 第二部分 DDD基本原理 第5章 领域和子域:有效分解问题域 49 5.1 领域的基本概念 49 5.2 领域的分解过程 50 5.3 子域的分类和属性 52 5.4 本章小结 53 第6章 限界上下文:定义领域边界的利器 54 6.1 什么是通用语言 54 6.2 什么是限界上下文 57 6.3 进一步理解限界上下文 58 6.4 限界上下文和微服务的关系 59 6.5 限界上下文与子域的关系 60 6.6 本章小结 61 第7章 实体和值对象:领域模型的基础单元 62 7.1 实体 62 7.2 值对象 64 7.3 实体和值对象的关系 68 7.4 本章小结 69 第8章 聚合和聚合根:怎样设计聚合 70 8.1 聚合 70 8.2 聚合根 71 8.3 聚合的设计步骤 73 8.4 聚合的设计原则 74 8.5 聚合的设计模式 75 8.5.1 仓储模式 76 8.5.2 工厂模式 80 8.6 本章小结 81 第9章 领域事件:解耦微服务的关键 83 9.1 领域事件 83 9.1.1 微服务内的领域事件 84 9.1.2 微服务之间的领域事件 85 9.2 领域事件案例 85 9.3 领域事件驱动实现机制 86 9.4 领域事件运行机制 89 9.5 本章小结 90 第10章 DDD分层架构 91 10.1 什么是DDD分层架构 91 10.1.1 用户接口层 92 10.1.2 应用层 93 10.1.3 领域层 94 10.1.4 基础层 94 10.1.5 DDD分层架构的重要原则 95 10.2 DDD分层架构如何推动架构演进 95 10.2.1 微服务架构的演进 95 10.2.2 微服务内服务的演进 96 10.3 三层架构如何演进到DDD分层架构 97 10.4 本章小结 98 第11章 几种微服务架构模型对比分析 99 11.1 洋葱架构 99 11.2 六边形架构 100 11.3 三种微服务架构模型的对比和分析 101 11.4 从三种架构模型看中台和微服务设计 103 11.4.1 中台建设要聚焦领域模型 103 11.4.2 微服务要有合理的架构分层 104 11.4.3 应用逻辑与基础资源的解耦 105 11.5 本章小结 106 第三部分 中台领域建模与微服务设计 第12章 如何用事件风暴构建领域模型 109 12.1 事件风暴概述 110 12.2 基于事件风暴的领域建模 111 12.2.1 产品愿景分析 111 12.2.2 场景分析 112 12.2.3 领域建模 113 12.2.4 微服务拆分与设计 115 12.3 本章小结 116 第13章 如何用DDD重构中台业务模型 117 13.1 传统企业应用建设分析 117 13.2 如何避免重复造轮子 119 13.3 如何构建中台业务模型 119 13.3.1 自顶向下的策略 119 13.3.2 自底向上的策略 120 13.4 业务模型重构过程中的领域对象 126 13.5 本章小结 128 第14章 如何用DDD设计微服务代码模型 129 14.1 DDD分层架构与微服务代码模型 129 14.2 微服务代码模型 130 14.2.1 一级代码 130 14.2.2 各层代码 131 14.2.3 微服务总结构 134 14.3 本章小结 135 第15章 如何保证领域模型与代码模型一致 136 15.1 领域对象的整理 136 15.2 从领域模型到微服务落地 137 15.2.1 领域层的领域对象 138 15.2.2 应用层的领域对象 140 15.2.3 领域对象与代码对象的映射 142 15.3 本章小结 144 第16章 如何实现微服务的架构演进 145 16.1 演进式架构 145 16.2 我们设计的是微服务还是小单体 146 16.3 微服务边界的作用 147 16.4 正确理解微服务的边界 149 16.5 本章小结 149 第17章 服务和数据在微服务各层的协作 150 17.1 服务视图 150 17.1.1 服务的类型 150 17.1.2 服务的调用 151 17.1.3 服务的封装与组合 153 17.1.4 两种分层架构的服务依赖关系 155 17.2 数据视图 158 17.3 本章小结 160 第18章 基于DDD的微服务设计实例 161 18.1 项目基本信息 161 18.2 战略设计 161 18.2.1 产品愿景 162 18.2.2 场景分析 163 18.2.3 领域建模 165 18.2.4 微服务拆分 166 18.3 战术设计 167 18.3.1 分析微服务领域对象 167 18.3.2 设计微服务代码结构 171 18.4 后续的工作 173 18.5 本章小结 173 第19章 基于DDD的微服务代码详解 174 19.1 项目背景 174 19.2 聚合中的对象 175 19.2.1 聚合根 175 19.2.2 实体 176 19.2.3 值对象 177 19.2.4 领域服务 177 19.3 领域事件 180 19.3.1 领域事件基类 181 19.3.2 领域事件实体 181 19.3.3 领域事件的执行逻辑 181 19.3.4 领域事件数据持久化 182 19.4 仓储模式 182 19.4.1 DO与PO对象的转换 183 19.4.2 仓储实现逻辑 184 19.5 工厂模式 186 19.6 服务的组合与编排 188 19.7 微服务拆分时的代码调整 190 19.7.1 微服务拆分前的代码 190 19.7.2 微服务拆分后的代码 191 19.8 服务接口的提供 192 19.8.1 facade接口 192 19.8.2 DTO数据组装 193 19.9 微服务解耦策略小结 195 19.10 本章小结 196 第四部分 前端设计 第20章 微前端架构理念与技术实践 198 20.1 前端项目的困局 198 20.2 如何理解微前端 200 20.3 微前端会带来哪些好处 201 20.4 微前端适合你的项目吗 202 20.5 微前端的实施方案与实践 203 20.5.1 Tailor实践 204 20.5.2 Single-SPA实践 216 20.6 本章小结 224 第21章 微前端:微服务的最佳搭档 225 21.1 前端应用新趋势 225 21.2 业务单元设计 226 21.3 微前端的集成 228 21.4 团队职责边界 230 21.5 本章小结 232 第五部分 中台设计案例 第22章 中台战略下的保险订单化设计 234 22.1 保险为什么要订单化销售 234 22.2 保险业务的复杂性 235 22.2.1 保险与普通商品差异分析 235 22.2.2 业务复杂性分析 237 22.2.3 技术复杂性分析 237 22.3 设计目标、思路和原则 239 22.4 业务中台领域建模 240 22.4.1 分解业务领域 240 22.4.2 核心能力中台 241 22.4.3 通用能力中台 244 22.5 业务单元化设计 251 22.5.1 单元化设计的前提 252 22.5.2 如何进行单元化设计 253 22.6 业务的融合 257 22.6.1 企业级前台应用 258 22.6.2 业务和流程的融合 259 22.6.3 单元化的价值 262 22.7 中台与后台的解耦 263 22.8 数据的融合 265 22.8.1 在线数据服务 265 22.8.2 视图数据服务 265 22.9 本章小结 266 第六部分 总结 第23章 微服务拆分和设计原则 270 23.1 微服务的演进策略 270 23.2 不同场景下的微服务建设策略 271 23.2.1 新建系统 271 23.2.2 单体遗留系统 272 23.3 DDD使用误区 273 23.4 微服务设计原则 275 23.5 微服务拆分要考虑哪些因素 276 23.6 本章小结 277 第24章 分布式架构的关键设计 278 24.1 选择什么样的分布式数据库 278 24.2 如何设计数据库分库主键 279 24.3 数据库的数据同步和复制 279 24.4 跨库关联查询如何处理 280 24.5 如何处理高频热点数据 280 24.6 前后序业务数据的处理 281 24.7 数据中台与企业级数据集成 281 24.8 BFF与企业级业务编排和协同 282 24.9 分布式事务还是事件驱动机制 282 24.10 多中心多活设计 283 24.11 本章小结 283 结束语 284 |