【问题标题】:NEventStore Commit Guid, what is it really used for?NEventStore Commit Guid,它的真正用途是什么?
【发布时间】:2013-05-20 06:55:15
【问题描述】:

我了解 CommitId 由 Jonathan Oliver 的事件存储在内部使用。 到目前为止,我一直为CommitId 提供Guid.NewGuid()

你们什么时候想做不同的事情?

我不明白为什么它会暴露在他的公共域存储库中。

任何人都可以对此有所了解吗?

【问题讨论】:

  • 好问题;我可以回答它(以允许具有共享标识符(例如命令 ID)的竞争编写者)在提交过程中更便宜地诱导失败快速幂等行为。
  • 谢谢鲁本。对于那些想深入了解的人,请在这里尝试:docs.geteventstore.com/dotnet-api/3.6.0/…

标签: neventstore commondomain


【解决方案1】:

一般来说,CommonDomain 不会尝试强制采用一种万能的自以为是的结构。

利用它的一种方法是让编写者使用他们唯一的传入命令 ID 作为 CommitId - 这意味着竞争(或重试与尚未超时的运行竞争)将被拒绝并出现特定异常而无需输入进入/考虑/管理冲突解决逻辑。这用于实现幂等命令的关键原则。

【讨论】:

    猜你喜欢
    • 2010-10-30
    • 2020-08-07
    • 2020-02-02
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多