Я хочу установить RabbitMQ как два (или более) узла кластера с HA.rabbitmq HA cluster
Использование: приложение-клиент-клиент (C# .NET) знает, что кластер имеет два узла и публикует кластер. Различные потребительские приложения (также C# .NET) подключаются к кластеру и получают все сообщения, созданные производителем. Пока по крайней мере один узел работает и работает, производитель и потребители будут продолжать работать без ошибок. Предполагая, что узлы A и B запущены, а B некоторое время умирает, затем перезапускается, затем некоторое время A умирает, клиенты продолжают функционировать без получения ошибки, так как во все времена по крайней мере один узел вверх.
Можно ли это сделать из коробки?
Есть ли какие-либо другие MQ, которые были бы более подходящими (коммерческая версия) для среды приложений Windows/.NET?
Итак, после того, как клиент обнаружил, что соединение мертво (это AlreadyClosedException?), Нужно просто попытаться подключиться к кластеру, и один из оставшихся узлов должен автоматически назначаться для его использования? –
Более или менее, да. Небольшая морщина заключается в том, что вам нужно подключиться к другому узлу в кластере (поскольку исходный файл не работает); вы можете сделать это с помощью балансировки нагрузки. После этого это обычное дело. С точки зрения клиента, он увидит ту же конфигурацию (те же очереди, обмены). – scvalex
Итак, с балансировщиком нагрузки будет только один IP-адрес для клиентов, но сами erlang-узлы будут использовать свой реальный IP-адрес? –