Как взаимодействовать в ограниченном контексте, когда в системе происходят доменные события?
Взаимодействие с помощью событий является очень мощным способом разработки приложения. Когда вы привыкнете к этому, вы почувствуете очень простой и удобный способ взаимодействия внутри и между системами (в зависимости от потребностей бизнеса).
Давайте рассмотрим, что у вас есть два ограниченного контекста context-A и context -B соответственно. В ограниченном контексте-A, основанном на определенных бизнес-логиках c в доменной модели, вы хотите уведомить другой ограниченный контекст-B о необходимости предпринять определенные действия.
В этом случае после выполнения бизнес-логи c в доменной модели. Вы можете создать событие домена из вашей доменной службы и позволить вашей прикладной службе (которая является локальной для вашего ограниченного контекста в данном случае context-A) управлять отправкой события домена издателю с помощью уровня вашей инфраструктуры. Теперь издатель может сохранить это событие в Event Store , а затем переслать в Очередь сообщений .
Абонент в ограниченном контексте-B может принять меры для прослушивания событий на шине и выполнения необходимых действий для выполнения.
Таким образом, как в доменном дизайне мы можем организовать публикацию sh или подписку на события домена.
- Если ограниченный контекст находится в двух разных кодах / проектах, всегда полезно использовать Хранилище событий и Очередь сообщений
- Если его в той же кодовой базе вы можете управлять обычным издателем и подписчиком, который помогает управлять событиями в домене.
Надеюсь, это объяснение высокого уровня может помочь.