Внедрение CQRS с AQS - PullRequest
       83

Внедрение CQRS с AQS

0 голосов
/ 06 апреля 2020

Я пытаюсь использовать CQRS на AWS платформе в NodeJS. После многих размышлений у меня есть следующее предложение: enter image description here

Пользователь публикует данные в EntryLambda. Эта лямбда генерирует команду и отправляет ее на командную шину. Командная шина реализована внутри (в шине памяти, используя Rx JS). Затем выполнение команды генерирует события и публикует их в EventBus (AWS SQS). Функция брокера отвечает за реагирование на эти события и генерацию других событий (конечно, с помощью команд). Здесь я немного запутался. У меня есть 3 SQS, которые должны представлять сущность EventBus. Каждый SQS отправляет сообщение только одной функции.

EventHandlerA может обрабатывать только события типа EventA, EventHandlerB может обрабатывать события типа EventB и EventB, например. EventB должен быть отправлен в 2 разных экземпляра SQS, а EventA может быть отправлен только в один экземпляр SQS.

Как мне реализовать EventBus? Должен ли он отправить все события всем SQS, а EventHandlerA выбросит любое событие, за которое он не отвечает? (В этом случае у меня много отправленных неиспользуемых данных)

или

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

Может быть, у вас, ребята, есть идея получше?

...