Настройка кластера

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

Redis Cluster обеспечивает горизонтальное масштабирование, автоматически распределяя данные по нескольким узлам с помощью консистентного хэширования на основе 16 384 хэш-слотов. Для развёртывания Redis Cluster требуется минимум три первичных узла (рекомендуется шесть — три первичных и три реплики) с параметрами cluster-enabled yes и cluster-config-file nodes.conf в redis.conf каждого узла. После запуска всех узлов команда redis-cli --cluster create формирует кластер, назначает хэш-слоты и связывает каждый первичный узел с репликами. Каждый ключ привязывается к слоту по формуле CRC16(key) mod 16384, а клиенты используют ответ MOVED для определения узла, которому принадлежит данный слот. Redis Cluster поддерживает автоматическое переключение при сбое и оперативное перераспределение слотов, что делает его рекомендуемым решением для наборов данных, превышающих объём памяти одного узла.

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

Настройка кластера шардирует данные между нодами через 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.

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

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

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

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