DDD实战课 / 基于DDD的微服务拆分与设计
欧创新
人保高级架构师
 
  • 课程目录
  • 课程介绍
  • 开篇词 | 学好了DDD,你能做什么?

    手把手带你设计出边界清晰、可持续演进的微服务架构。

  • 01 | 领域驱动设计:微服务设计为什么要选择DDD?

    DDD是一种架构设计方法,微服务是一种架构风格,二者本质上都是为了追求高响应力而降低应用系统建设复杂度的手段。

  • 02 | 领域、子域、核心域、通用域和支撑域:傻傻分不清?

    DDD的知识体系提出了很多晦涩难懂的名词,它们都是关键概念,从这一讲开始,我们就一同认识下它们,做好实践前的准备工作。

  • 03 | 限界上下文:定义领域边界的利器

    如果不考虑技术异构、团队沟通等其它外部因素,一个限界上下文理论上就可以设计为一个微服务。

  • 04 | 实体和值对象:从领域模型的基础单元看系统设计

    它们在领域模型中起什么作用,战术设计时如何将它们映射到代码和数据模型中去?

  • 05 | 聚合和聚合根:怎样设计聚合?

    为什么要在限界上下文和实体之间增加聚合和聚合根这两个概念?它们的作用是什么?怎么设计聚合?

  • 06 | 领域事件:解耦微服务的关键

    这种事件发生后通常会导致进一步的业务操作,在DDD中这种事件被称为领域事件。

  • 07 | DDD分层架构:有效降低层与层之间的依赖

    DDD分层架构的出现使架构边界变得越来越清晰,它在微服务架构模型中,占有非常重要的位置。

  • 08 | 微服务架构模型:几种常见模型的对比和分析

    这些架构模型在我们的实际应用中都具有很高的借鉴价值。

  • 09 | 中台:数字转型后到底应该共享什么?

    今天我们主要讨论业务中台和数据中台。

  • 10 | DDD、中台和微服务:它们是如何协作的?

    这三者看似风马牛不相及,实则缘分匪浅。

  • 答疑:有关3个典型问题的讲解

    这一讲针对3个比较典型的问题,做一个讲解,希望你也能同步思考,调动自己已学过的内容。

  • 11 | DDD实践:如何用DDD重构中台业务模型?

    这一讲会用一个传统企业中台建模的案例,带你一起用DDD的设计思想来构建中台业务模型。

  • 12 | 领域建模:如何用事件风暴构建领域模型?

    事件风暴是DDD战略设计中经常使用的一种方法,它可以快速分析和分解复杂的业务领域,完成领域建模。

  • 13 | 代码模型(上):如何使用DDD设计微服务代码模型?

    这一讲介绍微服务落地时首先要确定的代码结构。

  • 14 | 代码模型(下):如何保证领域模型与代码模型的一致性?

    DDD强调先构建领域模型然后设计微服务,以保证领域模型和微服务的一体性,因此我们不能脱离领域模型来谈微服务的设计和落地。

  • 15 | 边界:微服务的各种边界在架构演进中的作用?

    微服务的设计主要会涉及到逻辑边界、物理边界和代码边界。

  • 16 | 视图:如何实现服务和数据在微服务各层的协作?

    这一讲解剖基于DDD分层架构的微服务,看看它的内部结构到底是什么样的。

  • 17 | 从后端到前端:微服务后,前端如何设计?

    这一讲介绍微前端的设计思想,探讨中台微服务后,前后端的设计和集成方式。

  • 18 | 知识点串讲:基于DDD的微服务设计实例

    为了更好地理解DDD的设计流程,这一讲会用一个项目带你了解DDD的战略设计和战术设计。

  • 19 | 总结(一):微服务设计和拆分要坚持哪些原则?

    面对企业发展历程、企业技术和文化的差异,我们该如何落地DDD和微服务呢?

  • 20 | 总结(二):分布式架构关键设计10问

    中台大多基于分布式微服务架构,这种企业级的数字化转型有很多地方值得我们关注和思考。

  • 结束语 | 所谓高手,就是跨过坑和大海!

    专栏虽已完结,但更新优化不止,你有什么建议或意见想和我说说吗?

  • 基于DDD的微服务设计实例代码详解

    带你看用DDD方法设计和开发出来的微服务代码到底是什么样的。

随着分布式技术的快速兴起,我们已经进入到了微服务架构时代。微服务架构的出现,很好地实现了应用之间的解耦,解决了单体应用扩展性和弹性伸缩能力不足的问题。随着业务的复杂度升级,其好处自然不言而喻。

那微服务到底怎么拆分和设计才算合理,拆多小才叫微服务?这个尖锐的问题,在业内一直被热议。紧接着,继阿里巴巴成功转型中台战略之后,微服务设计和拆分再至风口浪尖,对于众多公司来说,都是一个不小的挑战。

那有没有好的方法来指导微服务和中台的设计呢?当然有,你也可能耳闻过,那就是领域驱动设计(DDD)。

  • 你可能会疑惑,早在2003年就诞生的DDD,怎么来指导“迟到”近20年才大热的微服务设计?
  • 怎么认识和学习这个抽象又庞大的知识体系?
  • 怎么应用,怎么实践?
  • 落地后它究竟能解决旧系统的哪些问题?

本专栏将重点解决以上问题,力求用浅显易懂的案例,深入DDD的核心知识体系与设计思想,带你掌握一套完整而系统的基于DDD的微服务拆分与设计方法,明确从战略设计到战术设计的微服务标准设计过程,助力落地边界清晰、可持续演进的微服务架构。

你将获得

  • 洞悉DDD必知必会10大核心概念
  • 掌握事件风暴与领域建模
  • 上手中台业务建模与设计
  • 实战设计清晰的微服务架构

作者简介

欧创新,人保高级架构师,拥有十多年的软件架构经验。他热衷于采用DDD的设计方法实现中台业务建模,专注基于DDD的微服务设计和开发。目前,他正在深入探索传统企业中台数字化转型的技术和方法体系。

课程设计

专栏共21讲,分为基础篇、进阶篇和实战篇三部分。

基础篇主要讲解DDD的核心知识体系,具体包括:领域、子域、限界上下文、实体、值对象、聚合和聚合根等概念。借助浅显易懂的案例,带你理解它们以及它们之间的合作、依赖关系。

进阶篇主要讲解领域事件、DDD分层架构、几种常见的微服务架构模型以及中台设计思想等内容。带你深入微服务分层设计的底层原理与具体实现。

实战篇作为本课程的重点,包含多个实战小项目,例如中台和领域建模的实战、微服务设计实战等。最后作者会用一个典型的案例将DDD所有的知识点串联,带你走一遍基于DDD的微服务设计全流程。

另外,实战篇还补充有“如何借鉴微服务的设计思想来设计前端应用”“微服务设计原则”以及“分布式架构设计的关键注意事项”,以完善实战体系。

限时福利