- События генерируются после выполнения логина домена c (некоторая операция была выполнена над объектом / объектом домена). Сначала событие сохраняется в магазине, а затем публикуется на шине, и другие потребители (микросервисы, обработчики событий из вашей диаграммы) могут подписаться на него. Persist и publi sh события должны быть похожи на транзакцию.
- Каждый раз, когда необходимо выполнить новую операцию над объектом домена, весь набор событий считывает из хранилища событий для этой сущности. Некоторые объекты могут иметь много событий и для оптимизации производительности используются так называемые Снимки состояний . В основном это состояние объекта домена после X событий. Снимки могут быть созданы каждые X событий. Они хранятся отдельно в хранилище событий, и обычно библиотеки источников событий позволяют настраивать моментальные снимки. Но это только для повышения производительности.
Я быстро создал диаграмму, чтобы показать, что обычно это происходит внутри Обработчик команд