Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

Bİlgisayar Ağları - Ders 10 - Yük Dengeleme



  November 03, 2017    Labels:,,,,, 


Yük dengeleme; işi, iki ya da daha fazla bilgisayar, işlemci, sabit disk ya da diğer kaynaklar arasında paylaştırma teknolojisidir. Bu teknolojiyi kullanarak en iyi kaynak kullanımı, en yüksek işlem hacmi, en düşük cevap süresi sağlanabilir; oluşabilecek aşırı yüklemeden (overload) kurtulunabilir.
Tek bileşen kullanmak yerine, yük dengeleme ile birden fazla bileşen kullanımı yedekleme (redundancy) sayesinde güvenilirliği artırabilir.
Yük dengeleme genellikle adanmış bir yazılım ya da donanım aygıtı (DNS, Multilayer switch vb.) kullanılarak sağlanır.
Yük dengeleme genellikle bilgisayar grupları (computer cluster) arasındaki iç iletişimi sağlamak amacıyla kullanılır.
Yük dengeleme kullanılan birden fazla bileşen ile yedekliliği sağlar. Bir yönlendirici (router) belirli bir ağ için birden fazla rota öğrendiğinde, yönlendirme tablosundaki (routing table) en düşük yönetimsel uzunluk (Administrative Distance - AD) değerine sahip rotayı seçer. Yönetimsel uzunlukların eşit olması durumunda ise metriklere bakacaktır. Yönetimsel uzunluk ve metrik değerlerinin eşit olması durumunda 3. Katman yük dengeleme oluşur. Ayrıca IGRP (Interior Gateway Routing Protocol - Dahili Ağ Geçidi Yönlendirme Protokolü) ve EIGRP (Enhanced Interior Gateway Routing Protocol - Geliştirilmiş Dahili Ağ Geçidi Yönlendirme Protokolü) protokoller eşit maliyetli (cost) olmayan yük dengelemeyi de destekler.

Etherchannel Yük Dengeleme Yöntemi

Birincil ve yedek hatlar mantıksal olarak tek bir hat gibi kullanıldığı yük dengeleme yöntemi “etherchannel”dır. İki ağ cihazı arasındaki hat kapasitesini artırmaya yarar. Ağ cihazlarının etherchannel yaptırılan portları tek port gibi kullanılır.Etherchannel yapılan portlarda verinin hangi yolu tercih edeceğini belirlemek için iki yöntem vardır:
  • Yalnızca tek bir değişkene göre belirlenebilir. (Kaynak mac adresi, hedef mac adresi, kaynak IP (InternetProtocol - İnternet Protokolü) adresi, hedef IP adresi, kaynak port, hedef port)
  • İki değişkene göre belirlenebilir. (Kaynak/hedef mac adresi, kaynak/hedef IP adresi, kaynak/hedef port)

3. Katmanda Yük Dengeleme

3. katmanda yük dengeleme iki şekilde uygulanabilir:
  • Hedefe göre (per- destination) : Yönlendirici paketleri hedef adreslerine göre dağıtır. Aynı ağa 2 yol olması durumunda o ağdaki hedef1 için gelen bütün paketler ilk yoldan, hedef2 için gelen bütün paketler de diğer yoldan gönderilir ve böyle devam eder. Aynı ağdaki farklı kullanıcılar için farklı rotalar kullanılmış olur. Hedef adreslerinin fazla olması bağlantıların eşit kullanılmasını sağlar. Her adres için rota önbellek girdisi (route-cache entry) hazırlanır. Bu nedenle hedefe göre yük dengelemede hafıza ve işlem gereksinimi çok fazla olur; binlerce kullanıcıya trafik taşıyan yönlendiriciler için uygun değildir.
  • Pakete göre (per-packet) : Pakete göre yük dengelemede yönlendiriciye hedef1 için gelen ilk paket ilk yoldan, ikinci paket de ikinci yoldan vb. şekilde gönderilir. Her paketin iletim sürecinde çıkış arayüzüne bakılır ve en az kullanılmış bağlantı yönlendirme tablosundan seçilir. Bu linklerin eşit kullanımını sağlar fakat işlemci üzerinde yoğun görev ve iletim performansında düşmeye yol açar. Ayrıca paketlerin hedefe, farklı gecikme süreleri nedeniyle sırası bozulmuş olarak varmasına neden olabilir. Bu tür yük dengeleme yüksek hızlı olması gereken arayüzler için uygun değildir.
Hedefe ve pakete göre yük dengeleme ip paketleri için kullanılan anahtarlama planlarıdır. Hedefe göre yük dengeleme kullanılacak arayüzde hızlı anahtarlama uygulanması gereklidir.

İnternet Servislerinde Yük Dengeleme

Yük dengelemenin en genel kullanım alanı sunucu çiftliği olarak bilinen, birçok sunucu kullanarak bir tane internet servisi sağlamaktır. Bu internet servisi genellikle popüler web siteleri, yüksek bant genişliğine sahip dosya aktarım iletişim kuralı siteleri, NNTP sunucusu, DNS sunucusu, mali işlemler gibi çalışması kritik uygulamalardır.
Yük dengeleyici genellikle bir yazılımdır. İstemcilerle iletişime geçer ve gelen isteği cevap vermesi için herhangi bir zamanlama algoritması kullanarak seçtiği arka uç sunucusuna iletir. Sanal ip adrese (VIPs) sahiptir. Bu yöntemde istemciler arka uç sunucularla direk iletişime geçmediği için ağ yapısı ve diğer portlar üzerinde koşan bağımsız servisler üzerine gelebilecek saldırılar engellenir.
Yük dengeleyici kullanılarak oluşturulan yük dengeleme sisteminde, arka uç sunucularından birinde bir problem olduğunda sistem çalışmasına devam ederken; yük dengeleyicide bir problem olduğunda sistem tamamen çalışmaz hale gelir.
Çözümlerden bir diğeri, Round Robind DNS olarak adlandırılan, adanmış yazılım ya da donanım gerektirmeyen metotdur. Tek bir Alan adı (www.example.org) ile birden çok IP adresi eşleştirilerek gerçekleştirilir. DNS sunucusu gelen isteklere, Round Robin algoritmasını kullanarak tanımlanan sunuculardan bir tanesini atar. İstemci arka uç sunucuların varlığını bildiğinden dolayı teknolojiden haberdardır. Teknoloji DNS nin getirdiği tüm avantaj ve dezavantajlara sahiptir.

Kalıcı Veriler

Bir kullanıcının istekleri boyunca oturum bilgilerinin nasıl tutulacağı önemlidir. Eğer bilgiler yerel olarak arka uç sunuculardan birinde tutulursa, izleyen istekte diğer bir arka uç sunucusuna gittiğinde bilgiler bulunamaz. Bu, tekrar kullanılacak bilgileri saklama gereksinimini ortaya çıkarır.
Çözümlerden biri, "Persistence" olarak da bilinen aynı istemciden gelen tüm istekleri aynı sunucuya yönlendirmektir. Fakat arka uç sunucularından birinde bir problem oluştuğunda o sunucu üstündeki tüm verileri tüm veriler kaybedilir.
Diğer çözüm oturum bilgilerini veritabanında tutmaktır. Veri tabanı yükü arttıkça performans düşüşü oluştuğundan dolayı veriler kısa süreli tutulacaksa tercih edilir.

No comments:

Post a Comment