众所周知,微服务架构能让系统的开发与运维管理变得简单高效,还能提高系统的可用性。随着微服务的不断流行,我们开始
在自己的业务中落地微服务。
但是当实际执行时,我们才发现就算采用了微服务架构也不能解决问题,反而带来
很多开发与运维上的负担。
于是我们试着去找解决方案,最后发现其实是自己划分微服务的方法错了,我们应该
用 DDD(领域驱动设计) 的思想去指导微服务的实践
。
什么是 DDD 呢?DDD 与微服务之间有着什么样的联系?为什么最近的中台文章也开始大谈DDD?
简单来说,DDD 的本质是一种软件设计方法,而微服务架构是具体的实现方式。
微服务架构虽好,但是他并没有给出如何对复杂系统进行分解的具体方法论,而 DDD 正好就是解决方案。
DDD强调领域模型和微服务设计的一体性,先有领域模型然后才有微服务,而不是脱离领域模型来谈微服务设计。
中台本质是领域模型,微服务是领域模型的系统落地,DDD是一种设计思想,它可以同时指导中台领域建模型和微服务设计,
这就是DDD、中台和微服务的铁三角关系。
如何学好DDD呢?我认为资深架构师欧创新提出的这3个步骤很有参考意义:
第1步:理解DDD的核心知识体系和设计思想;
第2步:和项目团队一起用事件风暴方法构建领域模型;
第3步:根据领域模型和正确的微服务设计方法亲自动手设计几个微服务(实战)。
DDD看似复杂,学习起来并不困难,所以,人保高级架构师欧创新开设了这门
《DDD实战课》
,希望可以帮你和你的团队建立
一套完整而系统的基于DDD的微服务设计方法。
👆扫描上图,免费试读
优惠口令「 DDD123456 」,立减¥5
欧创新是谁?
欧创新,人保高级架构师,一名奋斗在架构一线十余年的技术人。
他有多年 DDD 研究和实战落地的经验,热衷于采用 DDD 的设计方法实现中台领域建模,专注基于 DDD 的微服务设计和开发。
另外,他还在深入探索传统企业中台数字化转型的技术和方法体系。
他是如何设计这门课的?
他将《DDD实战课》的内容分为了三大部分:
基础篇、进阶篇和实战篇,
下面逐一给大家介绍。
基础篇
基础篇主要讲解
DDD的核心知识体系
,具体包括:领域、子域、核心域、通用域、支撑域、限界上下文、实体、值对象、聚合和聚合根等概念。他会用
浅显易懂的案例
带你理解它们以及它们之间的合作、依赖关系。
进阶篇
进阶篇主要讲解
领域事件、DDD分层架构、几种常见的微服务架构模以及中台设计思想等
内容,具体来说包括以下内容::
-
如何通过领域事件实现微服务解耦?
-
怎样进行微服务分层设计?
-
如何实现层与层之间的服务协作?
-
领域模型和微服务分层的作用和价值?
-
如何实现前中后台的协同和融合?
-
如何利用DDD进行中台设计?
实战篇
实战篇是专栏课程的重点,欧老师准备了4个实战案例。
1.中台和领域建模的实战
这部分他会带你了解如何用DDD设计思想构建企业级可复用的中台业务模型,了解事件风暴以及用事件风暴构建领域模型的过程。
2.微服务设计实战
这部分他会带你了解如何用DDD设计微服务代码模型,如何从领域模型完成微服务设计,建立领域模型与微服务代码模型的映射关系,如何完成微服务的架构演进等。
3.实战用DDD完成领域建模和微服务设计全流程
这部分他会用一个典型的案例将DDD所有的知识点串联在一起,带你深入了解如何用DDD的设计思想,完成领域建模和微服务设计的全流程。
4.前端应用设计
最后一个案例,他还会补充分享一个前端的最新设计思想,带你了解如何用微服务的设计思想来设计前端应用,实现前端应用的解耦。
最后,
他还为你总结了微服务设计原则以及分布式架构设计的关键注意事项。
下面是本专栏的目录
学完本专栏你将收获什么?