Uygulama, Ağ ve Ağ Geçidi Yük Dengelemesi arasındaki fark nedir?

Uygulama yük dengeleyici (ALB), ağ yük dengeleyicisi (NLB) ve ağ geçidi yük dengeleyici (GLB), bulutta kullanılan üç yük dengeleyici türüdür. Yük dengeleme, ağ trafiğini bir uygulamayı destekleyen bir kaynak havuzuna eşit olarak dağıtma işlemidir. Modern uygulamalar, milyonlarca kullanıcıyı aynı anda işler. Bu yüksek trafiğe sahip hacimler, yinelenen verilere sahip birçok kaynak sunucusu gerektirir. Uygulama trafiğini yeniden yönlendirmek için ALB'ler HTTP üst bilgileri veya SSL oturum ID'leri gibi istenen içerikleri inceler. Ağ yük dengeleyiciler, trafiği en iyi şekilde yönlendirmek için IP adreslerini ve diğer ağ bilgilerini inceler. Ağ geçidi yük dengeleyiciler şeffaf bir ağ geçidi (tüm trafik için tek bir giriş ve çıkış noktası) görevi görür ve sanal cihazlarınızı talebe göre ölçeklendirirken trafiği dağıtır.

Yük dengeleme hakkında bilgi edinin

Nasıl çalışırlar: ALB, NLB ve GLB karşılaştırması

ALB'ler, NLB'ler ve GLB'ler farklı işlevler sunar. Bu nedenle, farklı şekillerde çalışırlar ve farklı bileşenler içerirler. 

Uygulama yük dengeleyicisi nasıl çalışır?

ALB'ler gelen trafiği EC2 bulut sunucuları gibi birden çok hedefe dağıtır. Örneğin, bir e-ticaret uygulamasının ürün dizini, alışveriş sepeti ve ödeme işlevleri vardır. Uygulama yük dengeleyicisi, görüntü ve video içeren ancak açık bağlantıları sürdürmesi gerekmeyen sunuculara ürünlere göz atma istekleri gönderir. Karşılaştırma yaparak birçok müşteri bağlantısı yönetilebilen ve sepet verilerini uzun süre kaydedebilen sunuculara alışveriş sepeti istekleri gönderir.

ALB, istemcilerden gelen bağlantı isteklerini kontrol eden bir dinleyici bileşenine sahiptir. Bir dinleyici için yük dengeleyicinin istekleri kayıtlı hedeflerine nasıl yönlendirdiğini belirleyen kurallar tanımlayabilirsiniz. Hedef grup, kayıtlı hedefleri gruplara ayırır. Ortak trafiği tüm gruba yönlendirmek için kurallar tanımlayabilirsiniz. Örneğin, genel istekler için bir hedef grup ve uygulamanızın mikro hizmetlerine yönelik istekler için başka hedef grupları oluşturabilirsiniz.

Aşağıdaki şema ALB'nin nasıl çalıştığını göstermektedir.

Ağ yük dengeleyicisi nasıl çalışır?

NLB'ler trafiği ağ koşullarına göre dağıtır. Örneğin, yinelenen verilere sahip birden çok veri tabanı sunucunuz varsa NLB trafiği önceden belirlenmiş sunucu IP adreslerine veya sunucu kullanılabilirliğine göre yönlendirir.

NLB, kayıtlı hedeflerinin durumunu izler ve trafiği yalnızca sağlıklı hedeflere yönlendirir. Yük dengeleyici bir bağlantı isteği aldıktan sonra varsayılan kural için hedef gruptan bir hedef seçer. Dinleyici yapılandırmasında belirtilen bağlantı noktasında seçilen hedefe bir TCP bağlantısı açmaya çalışır. Her bir TCP bağlantısı, bağlantı ömrü boyunca tek bir hedefe yönlendirilir. Benzer şekilde, bir UDP akışını ömrü boyunca tutarlı bir şekilde tek bir hedefe yönlendirebilirsiniz. 

Ağ geçidi yük dengeleyici nasıl çalışır?

GLB ile izinsiz giriş algılama ve önleme, güvenlik duvarları ve derin paket denetim sistemleri gibi sanal araçları dağıtabilir, yönetebilir ve ölçeklendirebilirsiniz. Tüm cihaz trafiği için tek bir giriş ve çıkış noktası oluşturur ve sanal cihazlarınızı talebe göre ölçeklendirir. Ayrıca sanal özel bulut (VPC) sınırları arasında trafik alışverişi yapmak için de kullanabilirsiniz. 

GLB'de yönlendirme tablolarını kullanarak kurallar oluşturursunuz. Ayarladığınız kurallara bağlı olarak, trafiği iletmek için farklı hedef grupları seçer. IP paketlerini alır ve trafiği belirli hedef gruplara iletir.

Temel farklılıklar: ALB, NLB ve GLB karşılaştırması

ALB'ler, NLB'ler ve GLB'ler, ağ iletişiminizin farklı katmanlarında çalışır. ALB, OSI katmanı 7 üzerinde çalışır ve uygulama düzeyinde trafik manipülasyonu ve yönlendirmeye izin verir. NLB, bağlantı noktalarına ve IP adreslerine dayalı ağ düzeyinde trafik yönetimi için katman 4'te çalışır. GLB, ağ geçidi işlevselliği ile birlikte ağ düzeyinde dengeleme ve yönlendirme hizmetleri sağlayarak 3. ve 7. katmanlar arasında çalışır.

OSI modeli hakkında bilgi edinin

ALB'ler, NLB'ler ve GLB'ler arasındaki diğer temel farklara göz atın.

Hedef türleri

Hedef türü, bu yük dengeleyicilerin her birinin trafiği yönlendirdiği uç noktadır. ALB IP adresleri, bulut sunucusu ve AWS Lambda hedef türleriyle çalışır. NLB'ler IP ve bulut sunucularıyla çalışır ve daha karmaşık istekler için trafiği ALB'ye yönlendirebilir. GLB'ler, IP'ler ve bulut sunucusu hedef türleri ile çalışır.

Bulut bilgi işlemindeki bulut sunucuları hakkında bilgi edinin

Proxy davranışı

Bir yük dengeleyicinin istemci isteği aldığında gerçekleştirdiği eylem, iki seçenekten birine bağlıdır:

  • Yük dengeleyici bir proxy görevi görüyorsa ve ardından istemcinin bağlantısını sonlandırıyorsa
  • Akışı sonlandırmadan isteği iletiyorsa

Akışı sonlandırmak, yük dengeleyicilerin SSL sonlandırma, oturum kalıcılığı ve içerik tabanlı yönlendirme gibi ek trafik yönetimi işlevlerini gerçekleştirmesini sağlar. 

ALB, istemci bağlantısını sonlandırır ve ardından proxy görevi gören yeni bir bağlantı kurar. NLB de istemci bağlantısını sonlandırır ve istemci adına yeni bir bağlantı kurar. Ancak GLB proxy görevi görmez veya bağlantıyı sonlandırmaz; trafiği doğrudan iletir.

Protokoller

Bu yük dengeleyiciler, belirli trafik türlerini işlemek ve gelişmiş işlevleri gerçekleştirmek için farklı protokolleri destekler. ALB'ler web tabanlı trafik için HTTP, HTTPS ve gRPC protokollerini destekler. NLB, ağ düzeyinde trafik dağılımlarını kapsayan TCP, UDP ve TLS protokollerini destekler. Son olarak GLB, IP tabanlı herhangi bir protokolü işleyen IP tabanlı yönlendirmeyi kapsar. 

Algoritmalar

Bu yük dengeleyiciler, trafiği hedeflerine eşit olarak dağıtmak için farklı algoritmalar kullanır. ALB, varsayılan olarak trafiği birbiri ardına yönlendiren bir round-robin algoritması kullanır. Ancak NLB, trafiğin önceden belirlenmiş bir şekilde belirli hedeflere yönlendirilmesi için bir akış karması algoritması kullanır. GLB, trafiğin nereye yönlendirileceğini belirlemek için yönlendirme tablosu aramalarını kullanır. 

Ne zaman kullanılır: ALB, NLB ve GLB karşılaştırması

ALB, esnek uygulama düzeyinde trafik yönetimi ve yönlendirmeye ihtiyaç duyuyorsanız iyi bir seçimdir. Mikro hizmetler, container'lı ortamlar ve web uygulamaları için en iyi seçimdir. Özellikleri; SSL sonlandırma, oturum kalıcılığı ve içerik tabanlı yönlendirme gibi özellikleri, karmaşık yönlendirme senaryolarında yardım sunmasını sağlar. 

NLB, yüksek performanslı, düşük gecikme süresi ve ölçeklenebilir ağ düzeyinde dengeleme için en iyi seçimdir. Taşıma katmanında trafiği dağıtan uygulamalar, özellikle güvenilirliği göz önüne alındığında NLB kullanır. Oyun sistemleri, medya akış hizmetleri, ve büyük IoT sistemleri NLB kullanır. 

Ağ geçidi düzeyinde dengeleme yaparken GLB idealdir. Örneğin, bulut ve şirket içi ortamlar arasındaki veya farklı bölgelerdeki trafiği yönetirken GLB doğru seçimdir. OSI katmanları 3 ve 4 dengelemesini birleştirdiği için trafiği farklı bölgeler ve ağlar arasında yönlendirebilir. IP tabanlı yönlendirmeyi desteklediği için trafiği sanal ağ geçitleri arasında dağıtabilir, böylece yüksek ölçeklenebilirlik ve kullanılabilirlik sunar.

Farklılıkların özeti: ALB, NLB ve GLB karşılaştırması

 

Uygulama yük dengeleyici (ALB)

Ağ yük dengeleyicisi (NLB)

Ağ geçidi yük dengeleyici (GLB)

OSI katmanı

Uygulama katmanı olan katman 7 üzerinde çalışır.

Taşıma katmanı olan katman 4 üzerinde çalışır.

Ağ katmanı, katman 3 ve katman 7 üzerinde çalışır.

Hedef türleri

IP, bulut sunucusu ve lambda hedef türleri ile çalışır.

IP, bulut sunucusu ve ALB hedef türleri ile çalışır.

IP ve bulut sunucusu hedef türleri ile çalışır.

Proxy davranışı

Bağlantıyı sonlandırır.

Bağlantıyı sonlandırır.

Akışı sonlandırmaz.

Protokoller

HTTP, HTTPS ve gRPC protokollerini destekler.

TCP, UDP ve TLS protokollerini destekler.

IP tabanlı yönlendirmeyi destekler. 

Algoritmalar

Çizelgeleme

Akış karması.

Yönlendirme tablosu araması.

AWS, yük dengeleme gereksinimlerinize nasıl yardımcı olur?

Esnek Yük Dengeleme (ELB), tam olarak yönetilen bir yük dengeleme hizmetidir. Gelen uygulama trafiğini Amazon Web Services (AWS) ve şirket içi kaynaklar genelinde birden çok hedefe ve sanal araca otomatik olarak dağıtır. Ayrıca AWS Bölgeleri arasında bölgeler arası yük dengelemeyi destekler. İhtiyaçlarınıza göre ALB, NLB veya GLB kurmak için ELB'yi kullanabilirsiniz. 

ALB, ELB'nin bir bileşenidir. ELB aynı zamanda NLB, GLB ve Klasik Yük Dengeleyici'yi destekler. Bu yük dengeleyiciler istemci temas noktalarıdır ve güvenli yönetim ile uygulama ölçeklenebilirliğini geliştirmeye yardımcı olur. Bir veya birden fazla yük dengeleyici seçebilir ve bunları bulut ortamınızda ELB kurarken yapılandırabilirsiniz.

Hemen bir hesap oluşturarak AWS'de yük dengelemeyi kullanmaya başlayın.