RRedis Handbook

İLERİ

Sentinel vs Cluster: Farkı Anla, Doğru Seç

Redis 8 ve .NET 10 ile caching, veri yapıları, messaging, ölçekleme, dayanıklılık ve production operasyonları.

En sık karıştırılan Redis kavramı. İkisi de "yüksek erişilebilirlik" sağlar ama tamamen farklı problemleri çözer. Yanlış seçim: ya gereksiz karmaşıklık ya da ölçeklenememe.

Sentinel — Yüksek Erişilebilirlik (HA) "Master çökerse otomatik devral" Master TÜM VERİ Replica 1 TÜM VERİ Replica 2 TÜM VERİ S1 S2 S3 Sentinel'ler monitor eder + failover yönetir Özellikler: • Veri DAĞITMAZ — her node tam kopya taşır • Max veri = tek node RAM'i (ör: 64GB) • Master çökünce Replica → yeni Master (5-30s) • Write: sadece Master / Read: Replica'lardan dağıt • Multi-key ops sınırsız (tüm veri tek yerde) Cluster — Yatay Ölçekleme (Scale) "Veriyi N node'a böl, RAM/throughput katla" Node A slot 0-5460 Node B slot 5461-10922 Node C slot 10923-16383 Replica A' Replica B' Replica C' Her node sadece kendi slot'undaki veriyi tutar Toplam RAM = Node A + B + C (ör: 3×64 = 192GB) GET user:42 → CRC16 mod 16384 = 12539 → Node C'ye yönlendir Özellikler: • Veriyi slot bazında DAĞITIR (16384 slot) • Max veri = N × node RAM'i (yatay büyüme) • Her node kendi slot'ları için master (built-in HA) • Multi-key ops: AYNI SLOT gerekli → hash tag {} • Sadece db0 kullanılabilir (SELECT yasak)

Ne Zaman Hangisi?

Senaryo Sentinel Cluster Neden
Veri <32GB, HA istiyorum Gereksiz karmaşıklık, Sentinel yeterli
Veri >64GB (tek node'a sığmıyor) Veriyi dağıtman gerekiyor
>100K ops/s write throughput Tek master write bottleneck
MGET, TRANSACTION, Lua multi-key Cluster'da hash tag zorunlu, kısıtlı
Basit mimari, az ops overhead Cluster yönetimi daha karmaşık
AWS ElastiCache / Azure Cache managed ya da Managed service'te her ikisi de kolay
Mevcut uygulama multi-DB (SELECT 1,2..) Cluster'da SELECT yasak

Gerçek hayat kararı: Çoğu startup ve orta ölçek SaaS için Sentinel yeterli. 64GB RAM'lik bir Redis server milyarlarca küçük key barındırabilir. Cluster'a geçiş: veri RAM'e sığmadığında veya write throughput tek master'ı doyurduğunda düşün. Erken optimize etme — Sentinel ile başla, ölç, gerekirse Cluster'a geç.

Hibrit kullanım: Cluster mode'da her master node'un zaten replica'ları var (built-in HA). Yani Cluster = Sentinel + Sharding. Cluster seçersen ayrıca Sentinel kurmanıza gerek yok — Cluster kendi failover'ını yönetir.