МИКРОСЕРВИСЫ / КОНТЕЙНЕРЫ |Масштаб |Событие автобус |Повторяющиеся сообщения - PullRequest
0 голосов
/ 16 октября 2018

Я начинаю переходить на микросервисную архитектуру. Моя кулинарная книга: https://github.com/dotnet-architecture/eShopOnContainers

Это потрясающая книга.Но у меня есть вопросы, и один из них:

Допустим, у меня есть 2,3,5,10 экземпляров / контейнеров микросервисов Orders

И 3 экземпляра / контейнера API платежей

Теперь, когда пользователь нажимает кнопку «Сделать заказ», я отправлю сообщение - Новый OrderEvent

И микро-сервис заказа должен обработать это сообщение ..... Но .. У меня есть 8 экземпляров этого микро-сервиса- Я каждый раз буду обрабатывать это сообщение ...

(я использую кролика в качестве автобуса). Итак, вопрос:

  1. Если я что-то не так делаю?
  2. ЕслиКролик может защитить эту проблему (я не думаю, но, может быть, ...)))
  3. Если мне нужно написать сложный логический код для защиты внутри каждого микросервиса дескриптора ИЛИ я могу выполнить магические настройки внутри шины?

Спасибо (и извините, если этот вопрос дублирует - я ничего не нашел в Интернете) (И извините за грамматику английского - я работаю над этой проблемой)))

1 Ответ

0 голосов
/ 16 октября 2018

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

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

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

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