В этом примере у меня есть установка из 2 потребителей и 2 издателей в моей сети. В центре находится брокер RabbitMQ, как показано на скриншоте ниже. По причинам отказоустойчивости мне интересно, поддерживает ли RabbitMQ балансировку нагрузки или зеркалирование сервера (брокера) каким-либо образом. Я просто хотел бы избавиться от звездной топологии по двум причинам:
1) If one broker fails, another publisher can take over immediately
2) If one brokers network throughput is not good enough the other takes over
Было бы здорово решить один или другой (или даже оба).





Кластеризация RabbitMQ (документы) может удовлетворить ваше первое требование. Используйте три узла и убедитесь, что ваши приложения закодированы и протестированы с учетом сценариев сбоев.
Я не знаю ничего нестандартного, что могло бы удовлетворить ваше второе требование. Вам нужно будет реализовать что-то, что использует статистику кластера или статистику приложений, чтобы определить, когда переключиться на другой кластер из-за более низкой пропускной способности.
NOTE: the RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.
Спасибо! Я не придумал термин "кластер", который нужно искать в документации.