Blogchevron_rightSunucu Yönetimichevron_rightRedis Sentinel Nedir? Yüksek Erişilebilirlik Rehberi

Redis Sentinel Nedir? Yüksek Erişilebilirlik Rehberi

S
Serversium
calendar_today31 Mayıs 2026
schedule5 dk okuma
Redis Sentinel Nedir? Yüksek Erişilebilirlik Rehberi

Redis Sentinel Nedir ve Yüksek Erişilebilirlik İçin Neden Gereklidir?

Redis Sentinel, Redis veritabanı altyapısının yüksek erişilebilirlik (High Availability) ve otomatik failover (arıza durumunda otomatik geçiş) mekanizmasını sağlayan kritik bir bileşendir. Redis object cache sistemlerinin kesintisiz çalışması için Sentinel mimarisi vazgeçilmezdir. Modern mikroservis mimarilerinde ve dağıtık sistemlerde Redis'in tek başına çalışması, Single Point of Failure (SPOF) riski oluşturur. Sentinel bu sorunu çözmek için tasarlanmıştır.

Sentinel sistemi; ana (master) Redis sunucusunu sürekli izler, bir arıza durumunda slave sunucularından birini otomatik olarak master'a yükseltir ve istemcileri yeni master'a yönlendir. Bu sayede uygulamalar kesinti yaşamadan çalışmaya devam eder. Araştırmalara göre, kurumsal sistemlerde downtime maliyeti saatlik ortalama 300.000 TL'yi bulabilmektedir.

Sentinel'in Temel Sorumlulukları

Redis Sentinel üç temel görev üstlenir:

  • İzleme (Monitoring): Master ve slave sunucularının çalışma durumunu sürekli kontrol eder.
  • Bildirim (Notification): Sistemdeki değişiklikler hakkında API veya pub/sub mekanizması ile uygulamaları bilgilendirir.
  • Otomatik Failover: Master arızası durumunda en uygun slave'i yeni master olarak atar ve istemci bağlantılarını günceller.
  • Yapılandırma Sağlayıcısı: İstemcilere güncel master adresini sunar.

Redis Sentinel Mimarisi Nasıl Çalışır?

Sentinel mimarisi, dağıtık bir consensus (oybirliği) sistemi üzerine kuruludur. Minimum 3 Sentinel instance'ı çalıştırılması önerilir; çünkü tek bir Sentinel arızası sistemin yanlış kararlar vermesine neden olabilir. Çift sayıda Sentinel kullanımı önerilmez; çünkü split-brain senaryolarına yol açabilir.

Sentinel'ler birbirleriyle "gossip" protokolü üzerinden iletişim kurar. Bu protokol sayesinde tüm Sentinel'ler aynı view'a (görüşe) sahip olur ve failover kararı çoğunluk oylaması ile alınır. Araştırmalara göre, 3 node'lu Sentinel kurulumları %99.99 uptime hedefleyen sistemlerde standart haline gelmiştir.

Sentinel Quorum Kavramı

Quorum, failover'ın tetiklenmesi için gereken minimum Sentinel oy sayısıdır. Örneğin, 5 Sentinel'li bir sistemde quorum değeri 2 ise, en az 2 Sentinel'in master'ın down olduğunu onaylaması gerekir. Quorum değerinin doğru ayarlanması kritik öneme sahiptir:

  • Çok düşük quorum: Yanlış pozitif sonuçlar ve gereksiz failover
  • Çok yüksek quorum: Failover'ın gecikmesi veya hiç tetiklenmemesi

Redis Sentinel Kurulumu ve Yapılandırması

Sentinel kurulumu, mevcut Redis altyapısı üzerine birkaç adımda tamamlanabilir. Aşağıda temel yapılandırma adımları detaylı olarak açıklanmıştır.

1. Adım: Redis Master ve Slave Yapılandırması

Öncelikle Redis sunucularının master-slave replikasyonunun kurulmuş olması gerekir. Master sunucusunda herhangi özel bir ayar yapılması gerekmezken, slave sunucularında replicaof veya masterauth parametreleri ayarlanmalıdır.

# Redis slave yapılandırması (redis.conf)
replicaof 192.168.1.10 6379
masterauth "sifreli_parola"
replica-serve-stale-data yes

2. Adım: Sentinel Yapılandırma Dosyası

Her Sentinel için ayrı bir yapılandırma dosyası oluşturulmalıdır. Aşağıda örnek bir Sentinel yapılandırması verilmiştir:

# sentinel.conf
port 26379
sentinel monitor mymaster 192.168.1.10 6379 2
sentinel auth-pass mymaster "sifreli_parola"
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1

3. Adım: Sentinel'i Başlatma

Yapılandırma tamamlandıktan sonra Sentinel'ler başlatılır:

# Sentinel'i başlatma
redis-sentinel /path/to/sentinel.conf

# veya redis-server ile
redis-server /path/to/sentinel.conf --sentinel

Başarılı bir kurulumda Sentinel'ler birbirini tanıyacak ve master'ı izlemeye başlayacaktır. Sunucu güvenliği açısından Sentinel portlarının dışarıdan erişime kapatılması önerilir.

Failover Süreci Nasıl İşler?

Redis Sentinel'de failover süreci adım adım gerçekleşir ve yaklaşık 10-30 saniye arasında tamamlanır. Bu süreç, sistem yüküne ve ağ koşullarına bağlı olarak değişebilir.

Failover Aşamaları

  1. Tespit (Detection): Sentinel, master'ın belirlenen süre içinde yanıt vermemesi durumunda "+sdown" (subjectively down) durumu işaretler.
  2. Onay (Verification): Diğer Sentinel'ler de aynı durumu gördüğünde "+odown" (objectively down) durumu oluşur.
  3. Seçim (Election): Sentinel'ler arasında oylama yapılır ve en uygun slave seçilir. Seçim kriterleri şunlardır: replica offset, veri güncelliği, bağlantı kesintisi süresi.
  4. Yükseltme (Promotion): Seçilen slave, REPLICAOF NO ONE komutu ile master yapılır.
  5. Yeniden Yapılandırma: Diğer slave'ler yeni master'ı takip etmeye başlar.
  6. Bildirim: İstemciler pub/sub kanalları aracılığıyla bilgilendirilir.

Failover Sonrası Durum

Eski master yeniden çalışır duruma geldiğinde, Sentinel otomatik olarak onu yeni master'ın slave'i olarak yapılandırır. Bu davranış failover-timeout parametresi ile kontrol edilebilir. Endüstri raporlarına göre, otomatik failover süreçleri %95 oranında başarıyla tamamlanmaktadır.

Redis Sentinel vs Diğer Yüksek Erişilebilirlik Çözümleri

Redis Sentinel, yüksek erişilebilirlik için kullanılan tek çözüm değildir. Aşağıdaki karşılaştırma tablosu, farklı çözümlerin avantaj ve dezavantajlarını göstermektedir:

Özellik Redis Sentinel Redis Cluster Keepalived + VRRP
Otomatik Failover Evet Evet Evet
Sharding Desteği Hayır Evet Hayır
Kurulum Karmaşıklığı Düşük-Orta Yüksek Orta
Minimum Node Sayısı 3 6 2
Veri Kaybı Riski Minimal Minimal Yüksek
Otomatik Yeniden Yapılandırma Evet Evet Hayır

Redis Sentinel, basit master-slave mimarileri için idealken, yatay ölçeklendirme gerektiren sistemlerde Redis Cluster tercih edilmelidir. Kubernetes tabanlı çözümler ile entegrasyon için ise operator'ler kullanılabilir.

En İyi Uygulamalar ve İpuçları

Redis Sentinel kurulumunda başarıyı artırmak için aşağıdaki en iyi uygulamalar dikkate alınmalıdır:

1. Altyapı Önerileri

  • Sentinel'ler farklı fiziksel sunucularda veya farklı availability zone'larda çalıştırılmalıdır
  • Minimum 3 Sentinel instance'ı kullanılmalıdır
  • Master ve slave'ler aynı ağ segmentinde olmalıdır
  • Network latency'si 10ms'nin altında tutulmalıdır

2. Güvenlik Önlemleri

  • Sentinel ve Redis arasında güvenli bağlantı kullanılmalıdır
  • Parola tabanlı kimlik doğrulama etkinleştirilmelidir
  • Sentinel portları güvenlik duvarı ile korunmalıdır

3. İzleme ve Alarm

Sentinel durumu ve failover olayları izlenmelidir. Prometheus ve Grafana entegrasyonu için redis_exporter kullanılabilir. Kritik metrikler şunlardır:

  • Sentinel node'larının durumu
  • Failover sayısı ve süresi
  • Master-slave replikasyon gecikmesi
  • Bağlı istemci sayısı

Redis Sentinel İstemci Entegrasyonu

Uygulamaların Sentinel ile doğru şekilde entegre olması, yüksek erişilebilirliğin tam olarak sağlanması için kritiktir. İstemci kütüphaneleri Sentinel'i desteklemeli ve master adresini Sentinel'den dinamik olarak almalıdır.

Örnek: Python Redis İstemcisi

from redis.sentinel import Sentinel

sentinel = Sentinel([('sentinel1', 26379), 
                      ('sentinel2', 26379), 
                      ('sentinel3', 26379)], 
                     socket_timeout=0.1)

# Master'a yazma bağlantısı
master = sentinel.master_for('mymaster', socket_timeout=0.1)

# Slave'lerden okuma
slave = sentinel.slave_for('mymaster', socket_timeout=0.1)

Java/Jedis Örneği

JedisSentinelPool pool = new JedisSentinelPool(
    "mymaster",
    Set.of("sentinel1:26379", "sentinel2:26379", "sentinel3:26379"),
    new JedisPoolConfig(),
    5000,
    "parola"
);

Jedis jedis = pool.getResource();

İstemci uygulamaları, failover sırasında bağlantı hatası aldığında Sentinel'e yeniden bağlanmayı denemelidir. Çoğu modern kütüphane bu davranışı otomatik olarak gerçekleştirir.

Sonuç ve Öneriler

Redis Sentinel, Redis tabanlı uygulamalar için güvenilir bir yüksek erişilebilirlik çözümüdür. Doğru yapılandırıldığında, %99.99 uptime hedeflerine ulaşmak mümkündür. Ancak, başarılı bir Sentinel kurulumu için altyapı planlaması, güvenlik önlemleri ve izleme stratejileri birlikte uygulanmalıdır.

Kurumsal sistemlerde Redis Sentinel kullanımı artmakta olup, pazar analizlerine göre 2025 yılına kadar Redis tabanlı çözümlerin %70'inden fazlası Sentinel veya Cluster ile desteklenecektir. Sunucu güvenliği ve kesintisiz hizmet için Sentinel yapılandırması standart bir gereklilik haline gelmiştir.

library_booksBenzer İçerikler

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber
Sunucu Yönetimi
calendar_today5 Nisan 2026
schedule5 dk

Cloud Sunucu Nedir? Avantajları ve Detaylı Rehber

Cloud sunucular, dinamik kaynak dağıtımıyla işletmelerin kesintisiz büyümesini sağlar. Avantajlardan karşılaştırmalara tüm detaylar bu rehberde yer alıyor.

S
Serversiumarrow_forward
Linux vs Windows Sunucu: Hangisi Projeye Uygun?
Sunucu Yönetimi
calendar_today6 Nisan 2026
schedule5 dk

Linux vs Windows Sunucu: Hangisi Projeye Uygun?

Linux ve Windows Sunucu arasındaki teknik farkları, maliyet avantajlarını ve proje uyumluluğunu detaylı olarak karşılaştırıyoruz. Yazılım stack'inize en uygun işletim sistemini seçmek için kapsamlı rehberimizle doğru altyapı kararını verin.

S
Serversiumarrow_forward
Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber
Sunucu Yönetimi
calendar_today16 Nisan 2026
schedule5 dk

Plesk Kurulumu - Ubuntu 24 Üzerinde Adım Adım Rehber

Ubuntu 24 üzerinde Plesk kurulumunu adım adım öğrenin. Bu rehberde sistem gereksinimleri, kurulum adımları ve temel yapılandırma ayarlarını bulabilirsiniz.

S
Serversiumarrow_forward