CQRS: хранение событий и их публикация - как мне сделать это безопасным способом?

Насколько я'мы узнали вПочему репозиторий CQRS публикует события, а не хранилище событий? Это'хранилище CQRS 'Задача публиковать события. Все идет нормально.

Конечно, хранить события и публиковать их следует в рамках одной транзакции. Технически это означает запись одной (или нескольких) записей в хранилище и публикацию одного (или нескольких) событий на шину сообщений. Следовательно, простой транзакции базы данных недостаточно, она должна быть распределенной.

Сейчас, к сожалению, многие базы данных NoSQL (например, MongoDB) не поддерживают ACID-совместимые транзакции, даже не говоря о возможности выполнения в распределенной транзакции. Более того, существуют очереди сообщений, которые также не поддерживают распределенные транзакции.

Итак, вопрос: как мне с этим бороться?

Есть ли рекомендуемый шаблон для использования?

Ответы на вопрос(1)

Ваш ответ на вопрос