Skip to content

事件溯源——时间回溯魔法

更新: 3/15/2025 字数: 0 字 时长: 0 分钟

我们在设计聚合的时候发现,我们的聚合实际上是通过领域事件反推出来的。

那么我们是不是可以持久化领域事件而不持久化聚合呢?

当然可以!

这就是我们的事件溯源!

意义

可能会产生疑惑,为什么要持久化领域事件而不持久化聚合呢?

其实主要的好处就两个

  1. insert操作往往是顺序写,update操作往往是随机写,而我们都知道顺序写的效率一般是高于随机写的,而我们记录事件往往是insert一条数据,这样就提高了写的速度
  2. 当我们的系统对事件有较高的安全性要求,要求我们的系统必须高效快捷的回到某个状态之前,这时事件溯源就可以通过寻找当时的数据来完成这一操作

当然又优点就有缺点,我们可以从这两个角度来看他的缺点

  • 事件溯源增加了开发成本,提高了代码量
  • 由于需要大量记录领域事件,因此增加了硬盘的存储空间(由于现代存储空间价格的降低,以及使用事件溯源的项目大概率不会很小型,且数据量往往还和项目的大小密切相关,因此这个成本进入了可控范围)

因此事件溯源适合这些场景

  • 高性能写要求
  • 审计
  • 排障
本站访客数 人次      本站总访问量