Failover

Тема дорожной карты · Redis

Автоматическое переключение при сбое в Redis Cluster обнаруживает отказ первичного узла и в течение нескольких секунд продвигает реплику до первичного узла, обеспечивая доступность без ручного вмешательства. Когда первичный узел становится недоступным, оставшиеся первичные узлы кластера запускают протокол обнаружения сбоев на основе gossip; как только большинство узлов соглашается с отказом, на одной из реплик выполняется CLUSTER FAILOVER. Для минимизации потери данных предпочтение при продвижении отдаётся реплике с наиболее актуальным смещением репликации. Во время переключения при сбое затронутые хэш-слоты временно недоступны, пока новый первичный узел не объявит о себе через сообщения шины кластера. Операторы также могут инициировать ручное CLUSTER FAILOVER TAKEOVER для планового обслуживания, позволяя выполнить контролируемое переключение без ожидания автоматического тайм-аута обнаружения.

Как это работает

Failover шардирует данные между нодами через 16384 слота. Каждый ключ хешируется в слот; каждая master-нода владеет диапазоном слотов. Реплики бекапят masters (sentinel-less HA встроен). Клиенты cluster-aware: кешируют map слот→нода, следуют MOVED/ASK редиректам. Multi-key команды работают только на ключах в одном слоте (используйте {tag} в ключах для force same-slot: user:{42}:profile и user:{42}:posts).

Когда применять

Cluster — когда (а) данные превышают RAM одного хоста, (б) write throughput выше, чем одна master может, (в) нужен авто-failover без Sentinel. Для большинства приложений с < 100GB working set — один primary + реплика (с Sentinel или без) проще и достаточно. Тестируйте cluster failover до зависимости от него; cluster-операции сложнее single-node.

Типичные ошибки

Ловушки Failover: multi-key команды (MGET, SINTER) падают, потому что ключи в разных слотах (используйте {hashtag} для co-locate); старые клиенты не понимают cluster mode (тихие замедления от MOVED retry loop); ребалансировка в production без наблюдения за памятью + миграцией слотов (один move слота кратко стопит записи).

Связанные понятия

Полезные ресурсы