2016-03-27 4 views
0

1 - Может ли кто-нибудь уточнить различия между этими двумя подходами?
2 - Подробно, что происходит с очередями и сообщениями, если один узел терпит неудачу в каждом подходе?RabbitMQ HA: Зеркалирование VS кардиостимулятора

Я вижу в документации

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

Это относится к зеркальным очередям?

ответ

1

Зеркальные очереди, as described on the RabbitMQ website, означают, что все сообщения реплицируются на всех узлах, настроенных на размещение подчиненных очередей. Когда сообщение достигнет зеркальной очереди, вы не потеряете ее в случае сбоя узла.

Зеркальная очередь реализована с «копиями» ее на всех сконфигурированных узлах. Одной из этих копий является мастер очереди (первоначально расположенный на узле, где очередь была создана по умолчанию). Другие копии - подчиненные очереди.

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

Чтобы гарантировать упорядочение сообщений, все сообщения сначала проходят через мастер очереди, а затем реплицируются на все ведомые устройства. Это означает, что может быть много межузловой связи.

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

Смежные вопросы