Redis Cluster sharduje data přes 16384 hash slotů.
Setup¶
redis-cli –cluster create \ 10.0.1.1:6379 10.0.1.2:6379 10.0.1.3:6379 \ 10.0.1.4:6379 10.0.1.5:6379 10.0.1.6:6379 \ –cluster-replicas 1
Operace¶
redis-cli -c -h 10.0.1.1 CLUSTER INFO CLUSTER NODES
Omezení¶
- Multi-key ops → hash tags {user}:1
-
Transakce jen v jednom slotu
-
Sentinel — HA bez shardingu
- Cluster — HA + sharding
- Managed — ElastiCache, Azure Cache
Produkční provoz¶
V produkčním prostředí nasazujte Redis Cluster s minimálně 6 uzly — 3 master a 3 replica pro automatický failover. Pokud master selže, jeho replica převezme slot a služba pokračuje bez výpadku. Pro přidání kapacity použijte redis-cli --cluster add-node a poté --cluster reshard pro redistribuci slotů.
Při vývoji aplikace s Redis Clusterem pamatujte na hash tagy — pokud potřebujete multi-key operace (MGET, transakce), všechny klíče musí být ve stejném slotu. Toho dosáhnete pojmenováním klíčů s hash tagem: {user:123}:profile a {user:123}:sessions budou ve stejném slotu. Pro jednodušší HA bez shardingu zvažte Redis Sentinel, který poskytuje automatický failover s jedním master uzlem.
Cluster pro scale¶
Sentinel pro HA, Cluster pro horizontální škálování.