перенаправить на раб - PullRequest
       19

перенаправить на раб

0 голосов
/ 08 октября 2011

Есть ли в REDIS встроенный механизм, который будет использовать подчиненное устройство, когда мастер выключен?Могу ли я использовать виртуальный IP-адрес для направления к мастеру, а когда мастер не работает, можно ли направить его на подчиненный?

Согласно документации:

elect the slave to master using the SLAVEOF NO ONE command, and shut down your master.

Но как приложение узнает оизменил IP?

mysql имеет стороннюю утилиту, которая называется MMM (мастер-репликация с монитором).Есть ли такая утилита для REDIS?

1 Ответ

1 голос
/ 09 октября 2011

Вы можете использовать виртуальный IP-адрес в балансировщике нагрузки, хотя он не встроен в Redis.Любой качественный аппаратный или программный балансировщик нагрузки должен уметь это делать.Например, вы можете использовать « balance » или HAProxy для входа в VIP и использовать скрипт или правила, которые проверяют состояние экземпляров Redis, чтобы увидеть, кто из них главный, и задают его в качестве пункта назначения.в балансировщике нагрузки (LB).

Для перехода по этому маршруту потребуется один или несколько дополнительных серверов (или виртуальных машин в зависимости от вашей настройки), но он предоставит вам конфигурацию, в которой клиенты будут общаться с одним IP-адресом и будутне зная о том, с каким сервером им нужно общаться в бэкэнде.То, как вы обновляете LB, с каким сервером разговаривать, зависит от того, какой LB вы используете.К счастью, никому из них не нужно было знать или обрабатывать протокол Redis;они просто балансируют порт.

Когда я иду по этому маршруту, я иду с Рабом-VIP и Мастером-VIP.Балансировка нагрузки slave-VIP во всех экземплярах Redis, в то время как для Master-VIP активирован только текущий мастер.Если ваша нагрузка записи очень велика, вы можете оставить текущий мастер из пула Slave-VIP.В противном случае я бы оставил это в;это устраняет необходимость обновления после отказа для пула Slave-VIP.

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