【问题标题】:Is it okay to model events to encapsulate multiple things that happened at different times是否可以对事件进行建模以封装在不同时间发生的多个事情
【发布时间】:2021-11-25 08:47:37
【问题描述】:

我正在开发一个需要在多个设备之间同步的旧版移动应用程序。它使用事件源来执行同步。它是一个离线应用程序,业务逻辑在应用程序内而不是在中心位置执行。这似乎很好,因为需要执行业务逻辑的域被隔离到一个组中,并且同步只发生在同一组中的不同设备之间。 由于系统的分布式特性,属于一个组(组流)的事件按时间排序。虽然,现有事件非常大并且具有以下格式。

SomethingHappened 
{
    prop1: {
        ...props,
        created_date,
        updated_date, 
    },
    prop2: {
        ...props,
        created_date,
        updated_date,
    }
    created_date // timestamp of the event
}

我是事件溯源的新手,上面的格式让我很困惑。如果某个事件发生在某个时间,我们不应该在那个时候记录它吗?可以对事件进行建模以封装在不同时间发生的多个事情吗?如果没有,这会导致将来出现问题吗?

【问题讨论】:

    标签: distributed event-sourcing event-driven


    【解决方案1】:

    将多个事件组合成一个事件本质上没有错;它通常出现在您希望以原子方式持久保存多个事件的情况下(即所有事件都被持久化或没有一个事件被持久化)。只要您能确定顺序不变式得到维护,就可以了。

    【讨论】:

    • 感谢您的回复。只是想知道是否有另一种方法可以在不引入大型事件的情况下做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 2020-08-05
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多