EventStore Commit Guid, для чего он действительно используется?

Я понимаю, что CommitId используется внутри магазина событий Джонатана Оливера. До сих пор я всегда предоставлял Guid.NewGuid() для CommitId.

Когда вы все захотите сделать что-нибудь другое?

Я не понимаю, почему он отображается в его общем хранилище домена.

Может ли кто-нибудь пролить свет на это?

Ответ 1

В общем, CommonDomain не пытается заставить одноуровневую самоуверенную структуру.

Один из способов использования этого метода заключается в том, что авторы используют свой уникальный входящий идентификатор команды как CommitId - это означает, что конкурирующие (или повторные попытки конкурировать с прогонами, которые еще не тайм-аут) будут отклоняться с конкретным исключением, без необходимости вводить в/рассмотреть/управлять логикой разрешения конфликтов. Это используется для выполнения ключевого принципа Idempotent Commands.