【问题标题】:Adding latest quantity value as part of event source event添加最新数量值作为事件源事件的一部分
【发布时间】:2022-01-16 09:04:42
【问题描述】:

根据我的理解,我必须通过迭代给定聚合器的所有事件来“构建”系统的最新状态。如果我需要查找产品的最新数量,我必须遍历从特定项目中添加或减少数量的每个事件。但是,我可以将该产品的“最新”数量附加为给定事件的一部分吗?所以我可以有 {add: 3, available: 3}, {deducted: 1, available: 2} 这样的事件,而不是像 {add: 3}, {deducted: 1} = 2 那样可用,这样我就可以抓住来自商店的最后一个事件,而不是遍历所有事件或保留快照。这是否违反“规则”?可能的影响是什么?

【问题讨论】:

    标签: event-sourcing


    【解决方案1】:

    一般规则是事件不应包含计算值,但同时也是复杂性和易用性之间的折衷。

    如果性能存在问题,另一种方法是依赖快照。但是,在我的情况下,阅读端可以为您处理这些汇总的问题。您也不应该害怕必须加载一组事件才能达到给定聚合的当前状态。

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多