CQRS / EventStore: как обрабатываются сбои доставки событий? - PullRequest
1 голос
/ 20 марта 2012

Попадая в CQRS, я понимаю, что у вас есть команды (уровень приложения) и события (из домена).

В простом случае, когда события должны обновить модель чтения, сбой обновления модели чтения?Если нет «ошибки», то я не вижу их сбоя, и, поскольку я использую EventStore, я знаю, что есть флаг фиксации, который будет повторять ошибки.

Поэтому мой вопрос заключается в том, должен ли я что-то делать дополнительнов EventStore для обработки сбоев?

Меня беспокоит то, что вы делаете все за одну транзакцию, а теперь все делается отдельно.

1 Ответ

2 голосов
/ 20 марта 2012

Конечно, могут быть случаи, когда опубликованное событие завершится неудачно в прочитанных моделях.

Вы должны убедиться, что можете обнаружить это и решить его.

Приятно, что вы можете воспроизводить все события снова и снова, чтобы у вас была возможность не только исправить ошибку.Вы также можете проверить исправление путем воспроизведения каждого отдельного события, если хотите.

Я использую NServiceBus в качестве своего механизма публикации, который позволяет мне использовать очередь ошибок.Используя другие мои инструменты ведения журнала вместе с очередью ошибок, я легко могу определить, что произошло, так как у меня есть журнал ошибок и фактическое сообщение, которое вызвало ошибку в первую очередь.

...