【发布时间】:2020-10-27 18:56:55
【问题描述】:
假设我有一个产品目录,人们可以在其中更改产品价格。我实现了一个事件存储,以便能够重播所有“价格更改”事件以获取最新价格,以防它消失。
重播赛事时,我如何知道起始价格?我的意思是,如果事件只包含“价格更改为 10 美元”的信息,那么我必须首先知道它是什么。 或者你总是把这些信息放在活动中?就像这样“价格从 9 美元变为 10 美元”。
【问题讨论】:
标签: event-sourcing
假设我有一个产品目录,人们可以在其中更改产品价格。我实现了一个事件存储,以便能够重播所有“价格更改”事件以获取最新价格,以防它消失。
重播赛事时,我如何知道起始价格?我的意思是,如果事件只包含“价格更改为 10 美元”的信息,那么我必须首先知道它是什么。 或者你总是把这些信息放在活动中?就像这样“价格从 9 美元变为 10 美元”。
【问题讨论】:
标签: event-sourcing
如果产品的价格还没有改变,它的价格是多少?
【讨论】:
您可以在事件数据中包含时间戳或聚合的版本号。在回复时,您可以考虑这些价值观并提出类似的问题。这个价格比我已有的价格新吗?如果是这样更新否则不做任何事情。这样,即使您不知道所有过去的价格,您最终也可以获得最新和最旧的价格。仅当您的域可以这样做时。
存储“价格从 9 美元变为 10 美元”事件可以帮助您确定用户之间的比赛。这是一些额外的信息,可以帮助您回答未来的问题。
我有类似的情况,我的事件存储之外的东西在视图上创建了聚合的第一个版本。我必须创建一个特殊的进程来查看未聚合行的视图。并创建一个导入事件,然后将其放在商店中。
【讨论】: