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

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

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

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

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


person CRG    schedule 20.05.2013    source источник
comment
Хороший вопрос; Я могу ответить на него (чтобы позволить конкурирующим авторам, имеющим общий идентификатор, такой как идентификатор команды), более дешево вызывать идемпотентное поведение при отказе в процессе фиксации.   -  person Ruben Bartelink    schedule 20.05.2013
comment
Спасибо Рубен. Для тех, кто хочет разобраться в этом, попробуйте здесь: docs.geteventstore.com/dotnet-api/3.6.0/   -  person andrew pate    schedule 10.04.2017


Ответы (1)


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

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

person Ruben Bartelink    schedule 20.05.2013