RabbitMQ по умолчанию поддерживает кластеризацию, но очереди не реплицируются и привязываются к узлу, на котором они созданы. Теперь я ищу способы сделать RabbitMQ высокодоступным, кроме решения DRBD, которое они задокументировали, потому что кажется пустой тратой ресурсов резервировать весь сервер, который ничего не делает, а только ждет, пока активный сервер выйдет из строя.
Я думаю о настройке, в которой есть две очереди. Когда сообщение публикуется, я хочу, чтобы кластер RabbitMQ отправлял сообщение в любую из двух очередей, в зависимости от того, какая из них активна. Я знаю, что издатель получит сообщение об ошибке, если попытается опубликовать в очереди, которая не работает, и что издатель может повторить попытку с другой очередью, но мне интересно, можно ли это сделать автоматически на уровне кластера, чтобы я не не нужно писать клиентский код, чтобы справиться с этим. Можно ли это сделать?