RabbitMQ - Как настроить серверы для обновления без простоев?

12

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

Есть ли способ объединить кластеризацию, совок, федерацию и балансировку нагрузки, чтобы сделать возможным последовательное обновление без потери очередей или сообщений, или я пропустил что-то немного более очевидное?

Теренс Джонсон
источник
Любое обновление по этому поводу?
Редди

Ответы:

4

Предполагая, что ваши клиенты rabbitmq могут терпеть разрыв соединения, вы можете рассмотреть то, что описано здесь .

наш кластер за VIP. Когда мы хотим обновить кластер, мы раскручиваем альтернативный кластер и переключаем VIP на альтернативный кластер. Между тем, у нас есть инструменты, которые перемещают сообщения между кластерами. Когда обновление «основного» кластера выполнено, мы обращаем процесс вспять.

mmoya
источник
1

При обновлении с одной основной или вспомогательной версии RabbitMQ на другую (т. Е. С 3.0.x до 3.1.x или с 2.xx до 3.xx) или при обновлении Erlang весь кластер должен быть отключен для обновления ( поскольку кластеры не могут запускать смешанные версии, подобные этой). Это не будет иметь место при обновлении с одной версии патча на другую (т.е. с 3.0.x до 3.0.y); эти версии можно смешивать в кластере (за исключением того, что 3.0.0 нельзя смешивать с более поздними версиями из серии 3.0.x).

Ведракаш Нимбалкар
источник
-1

@ Теренс Я тоже был в той же обуви, что и ты. Я думаю, что вы можете утолить жажду любопытства здесь . PS Я сам еще не пробовал.

sameergautam
источник
1
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Дженни Д