Как сделать обработку отказа очередей RabbitMQ?

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

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

12
задан Hongli 5 August 2010 в 09:35
поделиться

1 ответ

Взгляните на Альтернативные биржи .

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

6
ответ дан 2 December 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: