Takip et

Redis + Sentinel ile Docker Kullanarak Redundans

Redis + Sentinel ile Docker Kullanarak Redundans

Bu makalede, Redis ile Sentinel kullanarak Docker ortamında bir redundant sistem nasıl kurulacağını detaylı bir şekilde ele alacağız. Redis, yüksek performanslı bir in-memory veri deposu olarak bilinir. Bu özelliği, uygulamalarınızın hızlı ve verimli çalışmasını sağlar. Ancak, tek bir Redis sunucusu kullanmak sisteminizi tek bir hata noktasına maruz bırakır. Bu noktada, Redis Sentinel devreye girer. Sentinel, Redis sunucuları üzerinde izleme ve otomatik hataya dayanıklılık sağlayan bir sistemdir.

Redis Sentinel Nedir?

Sentinel, Redis’in sağladığı bir yüksek kullanılabilirlik (high availability) çözümüdür. Sentinel, bir veya daha fazla Redis sunucusunu izleyerek, arızalanan sunuculara otomatik olarak tepki verir. Arızalanan bir sunucunun yerine hemen bir yedek sunucu devreye sokar ve veri kaybını önler. Bu da sisteminizin sürekli çalışmasını garanti eder.

Docker ile Redis ve Sentinel Kurulumu

Şimdi, Docker kullanarak Redis ve Sentinel sistemini adım adım nasıl kuracağımızı inceleyelim. İlk olarak, docker-compose.yml dosyamızı oluşturalım:

“`yaml
version: ‘3’
services:
redis-master:
image: redis:6.2.6
ports:
– “6379:6379”
command: redis-server –appendonly yes –port 6379
redis-slave1:
image: redis:6.2.6
ports:
– “6380:6380”
command: redis-server –appendonly yes –port 6380 –slaveof redis-master 6379
redis-slave2:
image: redis:6.2.6
ports:
– “6381:6381”
command: redis-server –appendonly yes –port 6381 –slaveof redis-master 6379
sentinel:
image: redis:6.2.6
command: redis-sentinel /sentinel.conf
volumes:
– ./sentinel.conf:/sentinel.conf
ports:
– “26379:26379”
“`

Bu docker-compose.yml dosyası, 3 Redis sunucusu (master ve 2 slave) ve bir Sentinel sunucusu tanımlamaktadır. Her bir sunucu Docker konteyner olarak çalıştırılacaktır.

sentinel.conf Dosyası

Sentinel sunucusunun yapılandırılmasını sağlamak için “sentinel.conf” dosyasını oluşturmamız gerekiyor. İçerik aşağıdaki gibi olmalıdır:

“`
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
“`

Bu yapılandırma, “mymaster” adlı bir master Redis sunucusunun izlenmesini, 5 saniye boyunca ulaşılamaz hale gelmesi durumunda hata durumuna geçirilmesini ve hata durumunda master seçimi için en fazla 10 saniye süre verilmesini sağlar.

Docker Compose ile Çalıştırma

Yukarıdaki dosyaları oluşturduktan sonra, sistemi çalıştırmak için aşağıdaki komutu kullanın:

“`
docker-compose up -d
“`

Bu komut, tüm sunucuları arka planda (detached) çalıştırır.

Sistemi Test Etme

Sistemi test etmek için, bir Redis istemcisi kullanarak master sunucuya bağlanabilir ve verileri kaydedebilirsiniz. Ardından, master sunucusu çalışmıyor gibi davranarak (örneğin, Docker konteyneri durdurarak), Sentinel’in slave sunucuları devreye sokarak sistemin sürekli çalışmasını sağladığını gözlemleyebilirsiniz. Sentinel, hata durumunda master sunucusu rolünü devralacak yeni bir sunucu seçer.

Sonuç

Bu makalede, Redis ve Sentinel kullanarak Docker ortamında yüksek kullanılabilirlik (high availability) sistemleri nasıl kurulacağını gösterdik. Bu sistem, sunucuların arızalanması durumunda bile verilerin sürekli olarak kullanılabilir olmasını sağlar. Docker, bu tür sistemleri oluşturmayı ve yönetmeyi kolaylaştırır. Siz de kendi sistemlerinizi bu şekilde kurarak uygulamalarınızın güvenilirliğini ve sağlamlığını artırabilirsiniz.

Daha fazla bilgi için, resmi Redis belgesine buradan ulaşabilirsiniz.

Ayrıca, kendi web sitemde bu konu hakkında daha detaylı bilgi ve örnekler bulabilirsiniz.

#Etiketler
Redis, Sentinel, Docker, Yüksek Kullanılabilirlik, Redundans, Hataya Dayanıklılık, Veri Deposu, Sistem Yönetimi

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.