(特价书)中台架构与实现:基于DDD和微服务
基本信息

编辑推荐
大型保险公司资深架构师撰写,极客时间畅销专栏全面升级
系统阐述基于DDD的中台和微服务建设方法论
深刻揭示企业中台从领域建模到微服务落地的完整设计过程,
包含大量设计案例和代码实现,手把手教你完成中台和微服务的协同设计
内容简介
计算机书籍
内容介绍
这是一部系统讲解如何基于DDD思想实现中台和微服务协同设计和落地的著作。
它将DDD、中台和微服务三者结合,一方面,它为中台的划分和领域建模提供指导,帮助企业更好地完成中台建设,实现中台的能力复用;一方面,它为微服务的拆分和设计提供指导,帮助团队提升分布式微服务的架构设计能力。给出了一套体系化的基于DDD思想的企业级前、中、后台协同设计方法。
本书注重实战,汇聚了大量分布式架构的最新设计方法、思想和理念,同时包含大量的案例和代码,是理论与实践相结合的最佳经验分享。交互式的行文风格,文字有活力,内容不刻板,简洁易懂。
本书共分为六个部分:
第一部分 认识中台(第1~4章)
主要从业务中台、数据中台、技术中台以及与之匹配的组织架构等多个方面分析传统企业中台转型应该具备的能力,带你初步了解DDD是如何指导中台和微服务设计,并厘清它们的协作关系。
第二部分 DDD基本原理(第5~11章)
通过浅显易懂的案例讲解DDD的核心基础知识、设计思想、原则和方法等内容,了解它们之间的协作和依赖关系,做好中台实践前的准备工作。
第三部分 中台领域建模和微服务设计(第12~19章)
首先,通过案例手把手带你用DDD方法完成中台和微服务的全流程设计,深刻理解DDD在中台领域建模和微服务设计中的步骤、方法、设计思想和价值;然后,通过一个完整案例带你了解用DDD设计方法完成领域建模与微服务设计的全流程。
第四部分 前端设计(第20~21章)
引入微前端和单元化的设计思想,通过前端微服务化和单元化设计思想,解决业务中台建设完成后前端应用仍然为单体和前后端服务集成复杂的难点。此外,还探讨了基于领域模型的单元化设计方法。
第五部分 中台设计案例(第22章)
采用自顶向下的领域建模策略,通过案例讲解中台设计的完整流程。涵盖业务领域分解、中台领域建模、微服务和微前端设计、单元化设计以及业务和数据如何融合等内容。
第六部分 总结(第23~24章)
结合作者多年的设计经验和思考,阐述单体应用向微服务架构的演进策略、如何避免陷入DDD设计的常见误区、微服务设计原则以及分布式架构下的关键设计等内容。
作译者
某大型保险公司资深架构师,拥有十多年的软件架构设计经验。热衷于DDD、中台和分布式微服务架构设计。在DDD、中台和分布式微服务架构设计方面有深厚的积累,擅长分布式微服务架构设计。
极客时间《DDD实战课》专栏作者,在InfoQ发表多篇关于DDD、中台、微服务和微前端技术实践的有深度和影响力文章。
邓頔
某大型保险公司高级工程师,全国青年岗位能手。致力于基于DDD的企业级中台微服务架构改造实践,精通前端开发相关技术栈,拥有丰富的企业级微前端实战经验。
目录
序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
前言
当前基于微服务架构来构建企业级应用已成为业界趋势。微服务架构很好地实现了应用解耦,可以更好地实现应用上云,解决单体应用扩展和弹性伸缩能力不足的问题。鉴于众多互联网企业微服务架构转型后带来的成功和收益,越来越多的传统企业也开始从单体架构向微服务架构转型。但在演进的过程中,微服务到底应该怎样拆分和设计,拆多小才算合理?这已经成为业内重点关注的话题。
继阿里巴巴成功完成中台战略转型后,很多大型企业也紧随其后开启了中台数字化转型。作为中台,需要将通用的业务能力沉淀到中台业务模型,实现企业级业务能力复用。中台建设面临的首要问题是如何按照可复用原则完成企业级业务模型重构。而在中台落地时,又会面临微服务拆分和设计的问题。这两个问题一前一后,对任何企业来说都是不小的挑战。
现在市面上关于微服务开发和技术的学习资料非常多。但在中台数字化转型过程中,关于如何进行业务领域边界划分,如何完成中台领域建模实现能力复用,如何完成单体应用拆分和微服务设计,如何实现前中后台的协同设计等,可参考和借鉴的资料并不是很多,即便有一些,真正理解和实施起来也是困难重重。
中台越来越火,微服务越来越热,参与的人也越来越多,但是市面上一直没有一套体系化的理论与方法来指导中台和微服务建设。那是否有成熟的理论或方法来指导中台领域建模以及微服务拆分和设计呢?答案是肯定的,那就是DDD(Domain Driven Design,领域驱动设计)。
2003年埃里克·埃文斯(Eric Evans)出版了《领域驱动设计》,从此DDD诞生。在沉寂了十多年后,随着微服务架构的流行,DDD强势崛起,成为很多企业微服务的主流设计方法。DDD首先从业务领域入手,划分业务领域边界,采用事件风暴工作坊方法,分析并提取业务场景中的实体、值对象、聚合根、聚合、领域事件等领域对象,根据限界上下文边界构建领域模型,将领域模型作为微服务设计的输入,进而完成微服务详细设计。用DDD方法设计出来的微服务,业务和应用边界非常清晰,符合“高内聚,低耦合”的设计原则,可以轻松适应业务模型变化和微服务架构演进。
微服务与DDD的共生关系主要从两方面来体现。一方面是微服务提倡将应用进行服务化拆分,通过业务领域边界实现应用服务边界的划分。另一方面,DDD恰好提供了一种基于业务限界上下文边界来实现微服务“高内聚,低耦合”的服务构建方法。将两者合理搭配使用,研发组织可以轻松实现面向服务的设计,享受持续交付与架构演进。
DDD与微服务,乃至中台设计的结合,目前仍是一个非常新的领域。很多人可能并不清楚它们的关系,不知道该如何利用DDD来完成中台和微服务的协同设计。
基于上述背景,本书聚焦业务中台设计和建设,系统地阐述了基于DDD的中台和微服务建设的方法体系,主要包括中台业务边界划分和领域模型构建,微服务、微前端设计理念与实践,以及如何进行前中后台的协同设计和单元化设计等内容。
本书主要特点
纵观全书,本书具有以下6个显著特点。
1)深入浅出,浅显易懂。本书打破了常规采用大量理论知识堆砌来讲解DDD知识的方式,用大量场景化的案例类比和分析,带你深入理解DDD基础知识和核心设计思想,解决了DDD知识体系过于庞大而难以理解和微服务落地困难的问题。
2)结构合理,从DDD理论到微服务实践完美结合。本书从理解DDD基础理论知识和核心设计思想出发,结合多个企业级业务场景,完成了DDD全流程的领域建模和微服务设计,对服务设计与技术落地等实现细节进行了大量的示例说明。结合案例设计,完成了微服务代码的开发,并对代码实现进行了详细的代码分析和讲解,帮助你避免开发过程常见问题的发生。可以说,本书从理论中来,到实践中去,能够有效指导中台和微服务的设计和开发。
3)化繁为简,从宏观业务分析到微观技术实现面面俱到。DDD、微服务与中台三者中的任何一项,放在任何一家企业,都是一项非常庞杂且复杂度非常高的工作。本书分别从DDD设计视角和中台建设视角进行对比分析,梳理了DDD、微服务与中台三者之间的协作关系。特别强调从业务领域出发,利用DDD战略设计和战术设计方法同时指导中台领域建模和微服务设计。可以说,DDD是中台和微服务设计的最佳指导方法,而微服务则是中台的最佳技术实现,它们就是这样的铁三角协作关系。我们将三者结合,从企业领域到子域的战略设计、宏观业务领域边界划分到微服务内底层领域对象的逐级细化设计,降低软件产品建设的复杂度,实现从宏观战略到技术实现细节的无缝衔接。
4)案例翔实,建立了企业级的中台建设方法体系。本书涵盖了前台、中台和后台建设及设计的完整方法,建立了一套标准的中台领域建模和微服务设计方法及流程,可以很好地指导企业完成中台设计和微服务落地。通过大量复杂业务场景的详细案例设计和分析,将DDD、中台和微服务三者结合,以近乎手把手的方式详细介绍了中台和微服务的设计方法和步骤。在中台业务建模时,你可以利用DDD战略设计,分解业务领域,从事件风暴入手,根据限界上下文边界构建可复用的中台领域模型。在中台落地时,你可以利用DDD战术设计,根据领域模型指导完成微服务和微前端设计和落地。
5)问题导向,一切都是为了解决实际问题。本书引入了大量成熟的中台与前台相关技术和设计方法,体系化地解决了企业中台建设过程中前台、中台和后台的协同设计,以及共享、联通与融合的问题。引入微前端设计思想,解决中台微服务化后,前端仍存在因单体而产生的前端集成和开发复杂的问题。为此,书中首次提出了基于领域模型的、单元化的设计思想,以领域模型为基准,向上构建微前端以实现领域模型的前端页面逻辑,向下构建微服务以实现领域模型的核心领域逻辑。将微服务和微前端集成组合为组件级业务单元,实现微前端页面逻辑和微服务接口能力的企业级复用。设计时,我始终强调应结合企业实际情况,选择最合适的方法和工具解决企业的实际问题,具体情况具体分析,灵活、体系化地运用技术和方法,通过常见问题分析和经验总结,避免陷入常见设计误区。
6)文字简洁,易于阅读。本书部分内容来源于我在极客时间的专栏《DDD实战课》,整体采用与读者交互的行文风格,经过多重打磨,文字有活力,内容不刻板,更加简洁易懂。
本书阅读对象
本书是一本关于中台、微服务和微前端设计与建设的书,采用了DDD设计思想和方法,适合的阅读对象主要分为下面几类:
从事企业数字化转型的企业管理者;
媒体评论
—— 郭 蕾极客时间总编辑
架构设计理念演进的趋势之一是方法论之间的融合。本书将DDD与微服务结合这一互联网公司的做法引入传统行业,并将其进一步发展为中台架构的设计方法论,是对架构设计理念的勇敢探索。中台在经历了各种争论后,开始进入理性实践阶段。本书在澄清概念的同时,详细介绍了保险领域的DDD与微服务实践,相信读者在充分理解了这些宝贵经验之后,也能够走出一条知行合一的中台自主之道。方法论的研究意义深远,我们永远在路上。
—— 付晓岩建信金融科技有限责任公司团队副总经理/《企业级业务架构》《银行数字化转型》作者
本书从中台规划开始的DDD理念,到后台架构上基于微服务的解耦和聚合方式,再到微前端的架构和实现,以理论结合实际的方式系统阐述了中台从规划到实现的全流程。虽然中台的实现路径并不是唯一的,但是本书为希望了解中台设计和实现方式的读者提供了很好的指导。
—— 彭 锋智领云联合创始人兼CEO
中台建设的核心是把企业常用的业务抽象出来沉淀到平台以供重用,从而为业务的快速创新赋能。这其中最为关键的是从业务中抽象出可重用的业务逻辑,而基于DDD正是进行业务逻辑抽象和服务中心设计的有效方法。本书将DDD和中台建设结合起来,详细阐述了基于DDD进行服务设计的过程,以及微前端的建设方法,最后结合具体例子说明了整个过程,为中台建设提供了具体指导。
—— 李元佳云徙科技联合创始人
中台架构是一个复杂的架构理念,不是现成的可以即插即用的产品或工具。中台的理想如何实现?业务架构、应用架构、数据架构、技术架构如何四位一体?且看保险领域先行者如何躬身向前用DDD和微服务把理想实现。
—— 史海峰贝壳金服CTO/微信公众号“IT民工闲话”作者
企业纷纷开始建设中台的过程,就是企业的业务和架构从粗放式产品型管理到精细化平台型管理的演进过程。在这个过程中,如何从我们熟悉的纵向产品视角切换到相对抽象的横向平台视角,是其中的难点和重点。DDD和微服务在设计和技术层面给我们提供了方法论,是中台规划与建设必须掌握的基本能力。本书正是专注于此,系统而专业,强烈推荐。
—— 王 健ThoughtWorks 首席咨询师/《白话中台》系列文章作者
本书从DDD实际落地出发,通过大量案例分析和介绍,帮助读者了解其核心设计思想和流程,掌握DDD整套理论体系,推荐阅读。
—— 贺阮腾讯专家工程师