Birden çok sunucuyu birlikte çalıştırmak: kavramlar ve ne zaman gerekir?
Tek bir sunucu iki sınırla karşılaşır: kapasitesi biter ve arızalandığında hizmet durur. Birden çok sunucuyu birlikte çalıştırmak, her ikisini de çözer.
Aşağıda bu alandaki kavramlar sade karşılıklarıyla.
Yük dengeleyici
Ne yapar: Gelen istekleri birden çok sunucuya dağıtır.
Neden:
- Yük tek makineye yığılmaz
- Bir sunucu arızalanırsa diğerleri devam eder
- Bakım sırasında sunucular sırayla devre dışı bırakılabilir
- Kapasite sunucu ekleyerek artırılabilir
Dikkat: Yük dengeleyicinin kendisi tek arıza noktası olabilir; kritik yapılarda o da yedekli kurulur.
Küme (cluster)
Ne demek: Birlikte çalışan ve tek bir sistem gibi davranan sunucu grubu.
İki temel amaç:
- Yüksek erişilebilirlik: Biri arızalanırsa diğeri devralır
- Performans: İş yükü paylaşılır
Yük devretme (failover)
Ne demek: Aktif sunucu arızalandığında hizmetin yedek sunucuya geçmesi.
Türleri:
| Tür | Nasıl | Kurtarma süresi |
|---|---|---|
| Elle devretme | İnsan müdahalesi | Dakikalar-saatler |
| Yarı otomatik | Onay sonrası | Dakikalar |
| Otomatik | Kendiliğinden | Saniyeler-dakikalar |
Aktif-pasif ve aktif-aktif
Aktif-pasif: Bir sunucu çalışır, diğeri bekler. Basit ve yaygındır; bekleyen sunucu boşta durduğu için maliyet açısından verimsizdir.
Aktif-aktif: Tüm sunucular çalışır ve yük paylaşılır. Kaynak verimliliği yüksektir ama uygulamanın buna uygun olması gerekir.
Oturum sorunu
Yük dağıtımında sık karşılaşılan bir sorun: kullanıcı bir sunucuda giriş yapar, sonraki isteği başka bir sunucuya düşer ve oturumu kaybolur.
Çözümler:
- Kullanıcıyı hep aynı sunucuya yönlendirmek
- Oturum bilgisini paylaşılan bir yerde tutmak
- Uygulamayı oturum tutmayacak şekilde tasarlamak
Bu, teknik ekibin çözmesi gereken bir tasarım konusudur ama kararı etkiler: her uygulama yük dağıtımına uygun değildir.
Veritabanı tarafı
Web sunucularını çoğaltmak görece kolaydır; veritabanı daha karmaşıktır.
- Kopya (replica): Ana veritabanının sürekli güncellenen kopyası
- Okuma dağıtımı: Okuma sorguları kopyalara yönlendirilir
- Yazma: Genelde tek merkeze yapılır
- Devretme: Ana veritabanı arızalanırsa kopya devreye alınır
Bu yapılar uzmanlık gerektirir; kurumsal karar açısından önemli olan, kesinti toleransınıza uygun bir düzeyi seçmektir.
Ne zaman gerekir?
Gerekli:
- Kesinti toleransı çok düşük sistemler
- Tek sunucunun kapasitesini aşan yük
- Sürekli erişilebilir olması gereken müşteri hizmetleri
- Gelirin doğrudan sisteme bağlı olduğu işler
Gerekmez:
- İç kullanıma yönelik sistemler (kısa kesinti tolere edilebiliyorsa)
- Düşük trafikli kurumsal siteler
- Test ortamları
- Yedekleme sistemleri
Maliyet ve karmaşıklık
Kümeleme ücretsiz değildir:
- En az iki kat donanım/kaynak
- Ek lisanslar
- Yük dengeleyici
- Daha karmaşık yapılandırma
- Daha zor sorun tanısı
- Uzman ihtiyacı
Karar kuralı: Kesintinin maliyetini hesaplayın. Bu maliyet, kümeleme maliyetinin üzerindeyse yatırım anlamlıdır.
Basit alternatifler
Tam kümeleme yerine daha basit çözümler çoğu şirket için yeterlidir:
- Anlık görüntü: Hızlı geri dönüş
- Bekleyen yedek sunucu: Elle devretme
- İyi bir yedekleme + hazır donanım: Saatler içinde kurtarma
- Bulut altyapı: Donanım arızasına karşı doğal dayanıklılık
Bu seçenekler, kümeleme maliyetinin çok altında ve çoğu orta ölçekli şirket için yeterli bir koruma sağlar.
Karar kontrol listesi
- ☐ Kabul edilebilir kesinti süresi belirlendi
- ☐ Kesinti maliyeti hesaplandı
- ☐ Uygulama yük dağıtımına uygun mu, kontrol edildi
- ☐ Veritabanı tarafı planlandı
- ☐ Yük dengeleyicinin yedekliliği düşünüldü
- ☐ Ek lisans maliyetleri hesaplandı
- ☐ Yönetim kapasitesi değerlendirildi
- ☐ Daha basit alternatifler karşılaştırıldı
Yorumlar (0)
Henüz yorum yok — ilk yorumu siz yazın.
Yorum yaz