领域模型的双时态设计Bi-temporal

19-08-23 banq
                   

事件溯源实际是按照时间线对领域中发生的事实进行跟踪,其中挑战是关于时间记录问题,一个是事实发生的时间,也就是领域事件发生的时间,一个是记录事实的时间。

双时态(Bi-temporal):这一设计方法组合了实际时态和记录时态这两种变更跟踪概念。

有效时间:真实世界变更的历史时间。

交易时间:状态和事件的发生顺序。

这两个时间是正交的,不是平行的,互为补充。交易时间对事务逻辑支持有好处。

这是否会导致复杂性?

但是存储“有效日期”和“交易日期”并不意味着您同时需要它们。使这些时间轴正交可以使很多事情变得更容易。当然这取决于业务用例。

交易时间可能对Saga等事务支持比较有力。