首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在NEventStore中处理同一聚合根目录的两个用户

在NEventStore中处理同一聚合根目录的两个用户
EN

Stack Overflow用户
提问于 2013-01-22 18:05:16
回答 1查看 457关注 0票数 3

我知道命令不应该失败,所以我需要在发送命令之前验证我的命令。

但是,如果两个用户正在更新相同的聚合根目录,并且这两个用户看起来都是有效的,那么我们就会遇到并发问题。

如何在NEventStore中处理此问题?我的客户是否需要获取在保存事件时传入的版本号或提交id,如果它发生了更改,我就会引发异常?

EN

Stack Overflow用户

回答已采纳

发布于 2013-01-22 19:15:53

正如您提到的,管理的一种方法是指定您期望在Load聚合时执行操作的版本(有一个重载)。

如果您生成的事件与以下事件冲突,则提交阶段将通过域生成一个ConcurrencyException

  • 已显示您未通过竞争进程

并发加载到中

确保对NuGet包放入项目中的.doc文件的阅读量大于1-它涵盖了JO EventStore如何处理这一问题的基础知识。

更新的清晰度 NB虽然这一切都是有效的,有时也是必要的,但通常你会发现,默认情况下,你应该努力工作,在那里你可以通过使你的命令自然地幂等性质和/或在整个系统中使用自然的冲突解决机制来管理大多数这些冲突解决方案,以便不需要依靠你的事件存储来提供如此低级别的保护(例如,etags,在发生冲突时重试命令等)。如果你发现自己在实践中走上了这条道路,我建议你在DDD-CQRS列表上用足够的实际用例来讨论你的策略。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14455915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档