Как доменные события могут быть переданы (опубликованы / подписаны) в ограниченном контексте - PullRequest
0 голосов
/ 01 апреля 2020

Служба open host - это способ отображения контекстов, который подходит для случаев, когда вы предоставляете доступ через API. Каков хороший способ представления сопоставления между контекстами, в котором вы собираетесь публиковать sh / использовать доменные события?

1 Ответ

0 голосов
/ 03 мая 2020

Как взаимодействовать в ограниченном контексте, когда в системе происходят доменные события?

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

Давайте рассмотрим, что у вас есть два ограниченного контекста context-A и context -B соответственно. В ограниченном контексте-A, основанном на определенных бизнес-логиках c в доменной модели, вы хотите уведомить другой ограниченный контекст-B о необходимости предпринять определенные действия.

В этом случае после выполнения бизнес-логи c в доменной модели. Вы можете создать событие домена из вашей доменной службы и позволить вашей прикладной службе (которая является локальной для вашего ограниченного контекста в данном случае context-A) управлять отправкой события домена издателю с помощью уровня вашей инфраструктуры. Теперь издатель может сохранить это событие в Event Store , а затем переслать в Очередь сообщений .

Абонент в ограниченном контексте-B может принять меры для прослушивания событий на шине и выполнения необходимых действий для выполнения.

Таким образом, как в доменном дизайне мы можем организовать публикацию sh или подписку на события домена.

  • Если ограниченный контекст находится в двух разных кодах / проектах, всегда полезно использовать Хранилище событий и Очередь сообщений
  • Если его в той же кодовой базе вы можете управлять обычным издателем и подписчиком, который помогает управлять событиями в домене.

Надеюсь, это объяснение высокого уровня может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...