在事件源系统中脱机时管理标识符
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。
【讨论】:
以上是关于在事件源系统中脱机时管理标识符的主要内容,如果未能解决你的问题,请参考以下文章