Подтвердить что ты не робот

Как сделать очереди очереди RabbitMQ?

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

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

4b9b3361

Ответ 2

Посмотрите Альтернативные обмены.

Это в основном то, что вы просили, но с обменом вместо очередей. Идея заключалась бы в публикации на биржу с указанным альтернативным обменом (вы можете сделать это с любым из клиентов RabbitMQ). Если сообщение может быть доставлено на первое, оно будет. Если нет (потому что он не может быть достигнут или потому что нет связанных с ним очередей), используется альтернативный вариант.

Ответ 3

Высокая доступность, так называемые "зеркальные" очереди, являются золотым стандартом для Rabbit HA.