【发布时间】:2017-05-22 05:22:25
【问题描述】:
我玩了几个月的 CQRS/事件溯源。目前,我在尝试进行另一项实验时遇到问题,希望有人可以提供帮助、解释甚至暗示事件溯源以外的另一种方法。
我想构建一个分布式应用程序,其中每个用户都可以管理他/她的数据。所以我的想法是每个用户都拥有自己的事件存储,而其他用户可以(有条件地)访问它。
当用户 A 执行某个命令时,这可能意味着不止一个事件存储。两个例子:
1) 从由事件存储 A 和 B 托管的任务列表中删除共享任务
2) 将对事件存储 A 中持久化的评论的引用添加到事件存储 B 中持久化的帖子中。
我目前唯一的解决方案似乎是使用附加到每个事件存储的流程管理器,因此当一个事件被添加到一个事件存储时,saga 也处理将该事件应用于其他相关事件存储。
【问题讨论】:
-
不清楚为什么每个用户都必须拥有自己的事件存储。你能详细说明一下吗?
-
@IlliakaillI:我有一个系统正在运行,每个用户都有几个包含敏感数据的列表。有些列表应该与其他用户共享,有些则不应该。目前,这是我的私人资料,所以只有少数用户。但我计划发布它,许多用户将不相信将这些敏感数据信任给未知服务。这就是为什么我要让用户管理他们的数据以及共享部分数据的可能性。
标签: javascript distributed cqrs event-sourcing saga