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

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

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

Я не понимаю, почему это выставлено в его общем домене Repository.

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

1 ответ

Решение

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

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

Другие вопросы по тегам