在事件源系统中脱机时管理标识符

Posted

技术标签:

【中文标题】在事件源系统中脱机时管理标识符【英文标题】:Managing identifiers when offline in an event sourced system 【发布时间】:2017-05-19 02:23:50 【问题描述】:

我有一个事件源系统,该系统在服务器上运行,客户端需要不时脱机工作。为了完成这项工作,我在联机时将域事件从服务器流式传输到客户端,以便脱机数据库是最新的,以防客户端脱机。这工作得很好。

离线时,用户可能会按照以下顺序添加新客户...

    添加新的客户命令。 已添加客户集合。 客户聚合创建初始约会聚合。 读取数据查询返回新约会详情。 用于修改约会的命令。

重新联机后,我无法回复服务器的事件。添加新客户很好,但生成的新约会有一个我不知道的标识符。因此,尝试重播约会更新命令失败,因为我不知道正确的约会 ID 应该是什么。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您需要查看 Greg Young 的演讲 CQRS, not just for server systems。 还有堆栈溢出问题Occasionally Connected CQRS Systems,以及dddcqrs 话题Merging Events in Occasionally Connected Clients。

我不知道正确的约会 ID 应该是什么

生成命令时生成id;您将知道约会 id 是什么,因为您告诉客户在创建约会时要使用什么 id。

【讨论】:

以上是关于在事件源系统中脱机时管理标识符的主要内容,如果未能解决你的问题,请参考以下文章

在LINUX内核中,进程标识符PID为1,2 ,3,4,5的进程的名称是啥?基本功能是啥?

惠普服务器内存故障时间怎么查

EKEventstore 和唯一的日历标识符

无法将事件网格系统分配的托管标识添加到存储帐户角色

怎么查看电脑开关机时间记录

如何在 Razor Page OnInitialized 事件中使用 404 路由