У меня есть несколько микросервисов, которые выставляются через API-шлюз.Шлюз заботится о проверке подлинности и маршрутизации в систему.Сервисы за шлюзом в основном простые CRUD-сервисы.Каждый сервис предоставляет свой собственный API, и они взаимодействуют синхронно через HTTP.Все эти сервисы, включая API-шлюз, являются приложениями NestJS по умолчанию.
Давайте придерживаться примера Cats.Всякий раз, когда Cat-Service
обновляет или создает новый Cat
, я хочу, чтобы CatCreatedEvent
или CatUpdatedEvent
были выброшены.Событие должно быть отправлено в некоторый брокер сообщений, такой как RabbitMQ, и другая служба должна прослушивать это событие и асинхронно обрабатывать событие.
Я не уверен, как этого добиться, с точки зрения того, как «внедрить» RabbitMQ вправильный путь, и мне интересно, если этот подход имеет смысл в целом.Я видел модуль CQRS для NestJS, но я думаю, что CQRS - это слишком много для этой области.Тем более, что в этой области нет смысла разделять модели чтения и записи.Может быть, я не на том пути, так что я надеюсь, что вы можете дать мне несколько советов.