distributed - 是否可以对事件进行建模以封装在不同时间发生的多个事情
问题描述
我正在开发一个需要在多个设备之间同步的遗留移动应用程序。它使用事件源来执行同步。它是一个离线应用程序,业务逻辑在应用程序内而不是在中心位置执行。这似乎很好,因为需要执行业务逻辑的域被隔离到一个组中,并且同步只发生在同一组中的不同设备之间。由于系统的分布式特性,属于一个组(组流)的事件按时间排序。虽然,现有事件非常大并且具有以下格式。
SomethingHappened
{
prop1: {
...props,
created_date,
updated_date,
},
prop2: {
...props,
created_date,
updated_date,
}
created_date // timestamp of the event
}
我是事件溯源的新手,上述格式让我感到困惑。如果某个事件发生在某个时间,我们不应该在当时和那里记录它吗?可以对事件进行建模以封装在不同时间发生的多件事情吗?如果不是,这会导致将来出现问题吗?
解决方案
将多个事件组合成一个事件本质上没有错。它通常出现在您希望以原子方式持久保存多个事件的情况下(即所有事件都被持久化或没有一个事件被持久化)。只要您可以确定正在维护排序不变量,就可以了。
推荐阅读
- javascript - Firestore 安全规则错误:FirebaseError:缺少权限或权限不足
- ssh.net - 使用 ssh.net (renci) 通过 ssh 登录到外部设备总是抛出无效命令
- css - “-webkit-box-orient”有什么替代品吗
- jquery - 获取内容并将其分配给 div jQuery
- c# - 视图中的异步依赖注入
- angular - ngOnInit() 没有激活 login.html
- python - 如何确定用户是否在 django 上创建了个人资料
- python - 如何按照文件在 Windows 资源管理器中出现的顺序对 glob 搜索结果中的文件进行排序?
- python - 如何检查元组的每个第一个元素是否等于数据框列python中的第二个元素
- python - pip 依赖项可以排除或包含在语义预发布标签中吗?