作为一个基于事件溯源架构的软件项目发展,事件模式(或事件类型)是最有可能随着时间改变的事物之一。
事件溯源架构提供的好处之一是它能够“回放所有事件”,并从旧事件中构建当前状态。
如果我需要更改事件模式(事件类型),通过添加或删除属性,或更改属性的语义,那该怎么办呢?当前服务实现将无法处理旧事件,因为它们使用旧模式(它们不包含属性,或者语义已经改变)。
对于如何处理这种情况,有什么想法吗?
事件溯源架构提供的好处之一是它能够“回放所有事件”,并从旧事件中构建当前状态。
如果我需要更改事件模式(事件类型),通过添加或删除属性,或更改属性的语义,那该怎么办呢?当前服务实现将无法处理旧事件,因为它们使用旧模式(它们不包含属性,或者语义已经改变)。
对于如何处理这种情况,有什么想法吗?