RabbitMQ: Лопата против Федерации микросервисных коммуникаций
Я потратил довольно много времени, пытаясь понять, следует ли мне использовать плагин федерации RabbitMQ или лопату.
В основном у меня два микросервиса. Я хочу, чтобы один из них отправил сообщение другому. Каждый микросервис имеет свой кластер rabbitMQ, поэтому мне нужно использовать Federation / shovel.
Я прочитал этот пост. Когда использовать лопаты RabbitMQ и когда использовать плагин Federation? и все еще не мог понять это / принять решение.
Я хочу удовлетворить следующее:
- Слабая связь
- Микросервисы не знают друг о друге - т. Е. Первый микросервис выдает сообщение «я сделал x». А второй микросервис просто слушает это «событие» и действует соответственно.
- В будущем я «возможно» захочу добавить больше микросервисов, каждый со своим собственным кластером rabbitMQ / vhost.
Исходя из этой информации - что посоветуете, совок или федерацию?
1 ответ
Почему бы не использовать один кластер для всего? RabbitMQ создан для обработки более 10 тыс. Обменов и очередей, на самом деле нет верхнего предела, кроме памяти или дискового пространства. Настройка кластера для каждого микросервиса - это слишком много работы и создает ненужные накладные расходы. Использование vhost тоже следует использовать не для этого, а для каждой области бизнеса.
Я использую только лопаты, и я использую их для передачи сообщений из моей производственной среды для тестирования, поэтому я могу тестировать с реальными данными. Настроить с помощью скриптов очень просто. И да, делать это нужно только со скриптами. Использование пользовательского интерфейса происходит слишком медленно.
Я знаю, что это не дает прямого ответа на ваш вопрос, но я надеюсь, что это дало вам пищу для размышлений.
Удачного обмена сообщениями!