Вы можете использовать виртуальный IP-адрес в балансировщике нагрузки, хотя он не встроен в Redis.Любой качественный аппаратный или программный балансировщик нагрузки должен уметь это делать.Например, вы можете использовать « balance » или HAProxy для входа в VIP и использовать скрипт или правила, которые проверяют состояние экземпляров Redis, чтобы увидеть, кто из них главный, и задают его в качестве пункта назначения.в балансировщике нагрузки (LB).
Для перехода по этому маршруту потребуется один или несколько дополнительных серверов (или виртуальных машин в зависимости от вашей настройки), но он предоставит вам конфигурацию, в которой клиенты будут общаться с одним IP-адресом и будутне зная о том, с каким сервером им нужно общаться в бэкэнде.То, как вы обновляете LB, с каким сервером разговаривать, зависит от того, какой LB вы используете.К счастью, никому из них не нужно было знать или обрабатывать протокол Redis;они просто балансируют порт.
Когда я иду по этому маршруту, я иду с Рабом-VIP и Мастером-VIP.Балансировка нагрузки slave-VIP во всех экземплярах Redis, в то время как для Master-VIP активирован только текущий мастер.Если ваша нагрузка записи очень велика, вы можете оставить текущий мастер из пула Slave-VIP.В противном случае я бы оставил это в;это устраняет необходимость обновления после отказа для пула Slave-VIP.