Masstransit, RabbitMQ, несколько потребителей с несколькими экземплярами - PullRequest
0 голосов
/ 04 августа 2020

У меня есть единственный продюсер, который публикует какое-то мероприятие. Затем у меня есть две разные службы, которые должны использовать это событие и как-то его обрабатывать. Обе эти службы имеют несколько экземпляров, и я хочу сделать так, чтобы событие принимал только один экземпляр каждой службы (для ясности см. Рисунок).

Есть ли способ добиться этого с конфигурацией Masstransit или ручная настройка очередей RabbitMQ - единственный способ?

схема проведения мероприятия

1 Ответ

1 голос
/ 04 августа 2020

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

Экземпляры службы будут использовать то же имя очереди, что и все другие экземпляры, поэтому только один экземпляр получит сообщение.

Это базовый c pub-sub, который подробно описан в документации .

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