RabbitMQ: Лопата против Федерации микросервисных коммуникаций

Я потратил довольно много времени, пытаясь понять, следует ли мне использовать плагин федерации RabbitMQ или лопату.

В основном у меня два микросервиса. Я хочу, чтобы один из них отправил сообщение другому. Каждый микросервис имеет свой кластер rabbitMQ, поэтому мне нужно использовать Federation / shovel.

Я прочитал этот пост. Когда использовать лопаты RabbitMQ и когда использовать плагин Federation? и все еще не мог понять это / принять решение.

Я хочу удовлетворить следующее:

  1. Слабая связь
  2. Микросервисы не знают друг о друге - т. Е. Первый микросервис выдает сообщение «я сделал x». А второй микросервис просто слушает это «событие» и действует соответственно.
  3. В будущем я «возможно» захочу добавить больше микросервисов, каждый со своим собственным кластером rabbitMQ / vhost.

Исходя из этой информации - что посоветуете, совок или федерацию?

1 ответ

Почему бы не использовать один кластер для всего? RabbitMQ создан для обработки более 10 тыс. Обменов и очередей, на самом деле нет верхнего предела, кроме памяти или дискового пространства. Настройка кластера для каждого микросервиса - это слишком много работы и создает ненужные накладные расходы. Использование vhost тоже следует использовать не для этого, а для каждой области бизнеса.

Я использую только лопаты, и я использую их для передачи сообщений из моей производственной среды для тестирования, поэтому я могу тестировать с реальными данными. Настроить с помощью скриптов очень просто. И да, делать это нужно только со скриптами. Использование пользовательского интерфейса происходит слишком медленно.

Я знаю, что это не дает прямого ответа на ваш вопрос, но я надеюсь, что это дало вам пищу для размышлений.

Удачного обмена сообщениями!

Другие вопросы по тегам