Балансировка нагрузки для сервера RabbitMQ (брокер), а не для потребителей (клиентов) - PullRequest
0 голосов
/ 22 декабря 2018

В этом примере в моей сети настроено 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

Было бы здорово решить одну или другую (или даже обе).

Моя текущая инфраструктура enter image description here

Предпочтительная инфраструктура enter image description here

1 Ответ

0 голосов
/ 22 декабря 2018

RabbitMQ кластеризация ( документы ) может удовлетворить ваши первые требования.Используйте три узла и убедитесь, что ваши приложения закодированы и протестированы с учетом сценариев отказов.

Я не знаю ничего готового, что могло бы удовлетворить ваше второе требование.Вам нужно будет реализовать то, что использует статистику кластера или статистику приложения, чтобы определить, когда переключаться на другой кластер из-за более низкой пропускной способности.


ПРИМЕЧАНИЕ: команда RabbitMQ контролирует список рассылки rabbitmq-users и только иногда отвечает на вопросы о StackOverflow.

...