Amazon ELB yükü dengelemek için hangi algoritmayı kullanıyor?


13

Bunu resmi ELB belgelerinde buldum

Varsayılan olarak, bir yük dengeleyici her isteği bağımsız olarak en küçük yüke sahip uygulama örneğine yönlendirir.

ancak Newvem ile ilgili bir makale ELB'nin yalnızca Round Robin algoritmasını desteklediğini söylüyor

Amazon ELB tarafından desteklenen algoritmalar - Şu anda Amazon ELB yalnızca Round Robin (RR) ve Oturum Yapışkan Algoritmalarını desteklemektedir.

Peki hangisi?

[1] http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

[2] http://www.newvem.com/dissecting-amazon-elastic-load-balancer-elb-18-facts-you-should-know/?lead_source=popup_ebook&oid=00DD0000000lsYR&email=muneeb%40olacabs.com


1
Aksi takdirde inanmak için bir neden belirtmedikçe, rastgele bir blogda bir yaşında, kaynaksız makale ile resmi belgelerle giderdim. Bununla birlikte, "en küçük yüke sahip örnek" yalnızca belirli bir bölge için geçerli olacaktır - A bölgesinde bir örnek ve B bölgesinde iki örnek varsa, AWS konsolu, isteklerin dengesiz olacağı konusunda sizi uyarır.
ceejayoz

'Bununla birlikte, "en küçük yüke sahip örnek" yalnızca belirli bir bölge için geçerli olacaktır "<Resmi belgelerde bir yerde belirtilmiş mi?
kn330

Eminim bir yerde bahsedilir, ancak bir ELB'ye örnekler eklediğinizde kesinlikle AWS konsolunda belirtilir. İşte bir ekran görüntüsü: cl.ly/image/251m3g1b0E1n
ceejayoz

Abdul, lütfen doğru cevabı kabul et, bu da crizCraig'in.
tedder42

Yanıtlar:


14

HTTP (S) için istek sayısı, diğerleri için yuvarlak robin.

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#request-routing

İstemci yük dengeleyicinize istek göndermeden önce, yük dengeleyicisinin etki alanı adını Etki Alanı Adı Sistemi (DNS) sunucularıyla çözer. DNS sunucusu, belirli bir Kullanılabilirlik Bölgesi'ndeki hangi yük dengeleyici düğümünün isteği alacağını belirlemek için DNS round robin kullanır.

Seçilen yük dengeleyici düğümü daha sonra isteği aynı Kullanılabilirlik Bölgesi içindeki sağlıklı örneklere gönderir. Sağlıklı örnekleri belirlemek için, yük dengeleyici düğümü ya yuvarlak robin (TCP bağlantıları için) ya da en az bekleyen (HTTP / HTTPS bağlantıları için) yönlendirme algoritmasını kullanır. En az bekleyen istek yönlendirme algoritması, en az bağlantı veya bekleyen istek içeren arka uç örneklerini destekler.


2
Bu bilgiler biraz güncel değil. Yük dengeleyici, talebi yalnızca çapraz alan özelliği kapalı olduğunda aynı kullanılabilirlik bölgesindeki sağlıklı örneklere gönderir. Çapraz bölge özelliği için varsayılan ayar etkinleştirilmiştir, bu nedenle yük dengeleyici, HTTP / HTTPS için en az bekleyen istekleri ve TCP bağlantıları için yuvarlak döngüyü kullanarak yük dengeleyiciye kaydedilen herhangi bir sağlıklı örneğe bir istek gönderir.
ColtonCat

Hey @ColtonCat bilgi için kaynak bağlayabilirsiniz lütfen
murarisumit


2

Kullanılan ELB tipine bağlıdır. AWS, zamanla Klasik ELB ile birlikte Uygulama ELB ve Ağ ELB'yi tanıttı.

Application Load Balancersdinleyici kurallarını uygular ve (HTTP / HTTPS) isteğini bir hedef gruba atar. Bu hedef gruptan,round robin routing algorithm

Network Load Balancers bağlantıyı alan düğüm, hedef grubundan bir hedef kullanarak flow hash routing algorithm

Classic Load Balancerskullanımları round robin routing algorithm, TCP dinleyicileri için ve least outstanding requests routing algorithmHTTP ve HTTPS dinleyici için

.

TLDR;

Modern ELB'ler round robin routing algorithmHTTP / HTTPS istekleri ve flow hash routing algorithmTCP istekleri için kullanır.

round robin routing algorithmTCP istekleri ile least outstanding requests routing algorithmHTTP ve HTTPS istekleri için kullanılan klasik ELB

Kaynak / İleri Okuma: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.