从壹开始微服务 [ DDD ] 之终篇 ║当事件溯源 遇上 粉丝活动

时间:2022-07-01 03:15:32

回首

哈喽~大家好,时间过的真快,关于DDD领域驱动设计的讲解基本就差不多了,本来想着周四再开一篇,感觉没有太多的内容了,剩下的一个就是验证的问题,就和之前的JWT很类似,就不打开一个章节了,而且这个也不是领域驱动设计范畴之内的,下一个系列 Ids 的讲解中,可能会穿插着讲一讲,然后到时候正好一起完善了。

虽然是完结了,不过心里还是不是很开森呀,通过小伙伴的反馈,然后我也咨询了官方的建议,好像这个DDD领域驱动设计系列,并没有得到很多的支持,影响力完全比不过第一个系列《从壹开始前后端分离》,原因可能是,我也没有在项目中真正的使用过DDD的原因吧,也或许是写的比较生硬,主要我也一直在研究,不过我这里一定要说一下,还是要多看看的,不一定要看我讲的,可以看看书也行,或者看看别人的博客,DDD领域驱动设计思想真的很不错,然后还夹带着CQRS命令查询职责分离、Bus总线思想、EDA事件驱动思想、ES事件溯源思想(今天要说到的)、

举个溯源的例子(我瞎想的):

可能不是很恰当,也可能他们根本不是这么做的,我只是用这个感觉来说明什么是溯源:

大家在玩儿消消乐的时候,偶尔会遇到这个情况,比如玩儿了二十步的时候,突然闪退了,然后我们重新进去,重新进这一关的时候,会看到系统快速的把我们的这二十步进行了还原,有一个过程步骤,也许没人注意,那我想问下,这个是怎么保存的呢?难道直接获取的当前关卡的状态么,有一丝丝的溯源的意味。

大家自己思考其他的例子,比如银行查账,每天的数据汇总等等。

消息队列等等这些以前没有接触到的思想设计,也为微服务打下了一定的基础,如果没有这些基础,你是很难理解为什么要使用微服务的,这里我们就先来回顾一下这些天我们都说了什么内容吧:

  1. 我们第一次开始讨论DDD领域驱动设的概念已经我的个人计划书
  2. DDD入门 & 项目整体的第一次搭建
  3. 领域、子域、限界上下文
  4. 又一次讨论了DDD设计思想的重大意义 以及使用EFCore
  5. 实体 与 值对象
  6. 聚合 与 聚合根
  7. 第一次把项目跑通,然后也简单说了下 CQRS
  8. 剪不断理还乱的 值对象和Dto
  9. 明白领域验证 FluentValidator
  10. 命令总线 Bus 分发(一)
  11. 事件驱动 EDA 详解

算上今天的内容,正好是十二篇,也是我的比较喜欢的一个数字(之前在文章中说到过这个原因,这里就不多说了),也是很辛苦写了这么多,希望有时间有精力的时候,还是要多看看的,多品品思想,这样我们就不会一直问一些虚无缥缈的问题了,虽然我现在是越学的多,越不会的多