Event Store的作者 Greg Young不久前定义了关联ID 来引用根本原因,以及因果 ID 来引用消息的直接原因。
因此,您应该能够通过另一条消息的因果 ID 找到另一条消息对其进行直接响应的一条消息。您应该能够通过具有相同因果 ID 的消息找到同一对话中的所有消息。
如果应用此模式,会话中的第二条消息应将相关 ID 和因果 ID 设置为第一条消息。
在 Commanded 中,我希望第一个事件具有相关 ID 和因果 ID 来指向导致事件发生的命令(也可以在此处进行直观描述)。
令人困惑的是,在 Commanded 自己的事件存储中,命令后的第一个事件似乎具有不同的相关性和因果 ID。所以看来 Commanded 并不适用 Greg Young 的定义。
我的问题是,Commanded 中这些 ID 的具体定义是什么?不遵循格雷格·杨的定义是否是一个有意识的决定?如果是,为什么?