对事件建模以封装在不同时间发生的多件事是否可以?
Is it okay to model events to encapsulate multiple things that happened at different times
我正在开发需要在多个设备之间同步的旧版移动应用程序。它使用事件源来执行同步。它是一个离线应用程序,业务逻辑在应用程序内执行,而不是在中央位置执行。这看起来很好,因为需要执行业务逻辑的域被隔离到一个组中,并且同步只发生在同一组中的不同设备之间。
由于系统的分布式特性,属于一个组(组流)的事件按时间排序。虽然,现有的事件非常大并且具有以下格式。
SomethingHappened
{
prop1: {
...props,
created_date,
updated_date,
},
prop2: {
...props,
created_date,
updated_date,
}
created_date // timestamp of the event
}
我是事件溯源的新手,上面的格式让我很困惑。如果某个事件发生在某个时间,我们不应该当场记录下来吗?可以对事件建模以封装在不同时间发生的多件事吗?如果不是,这会导致将来出现问题吗?
将多个事件合并为一个事件本质上没有错;在您希望多个事件以原子方式持久化的情况下很常见(即所有事件都被持久化或 none 个事件被持久化)。只要你能确定顺序不变量得到维护,就可以了。
我正在开发需要在多个设备之间同步的旧版移动应用程序。它使用事件源来执行同步。它是一个离线应用程序,业务逻辑在应用程序内执行,而不是在中央位置执行。这看起来很好,因为需要执行业务逻辑的域被隔离到一个组中,并且同步只发生在同一组中的不同设备之间。 由于系统的分布式特性,属于一个组(组流)的事件按时间排序。虽然,现有的事件非常大并且具有以下格式。
SomethingHappened
{
prop1: {
...props,
created_date,
updated_date,
},
prop2: {
...props,
created_date,
updated_date,
}
created_date // timestamp of the event
}
我是事件溯源的新手,上面的格式让我很困惑。如果某个事件发生在某个时间,我们不应该当场记录下来吗?可以对事件建模以封装在不同时间发生的多件事吗?如果不是,这会导致将来出现问题吗?
将多个事件合并为一个事件本质上没有错;在您希望多个事件以原子方式持久化的情况下很常见(即所有事件都被持久化或 none 个事件被持久化)。只要你能确定顺序不变量得到维护,就可以了。