Elastik Yük Dengeleyiciler trafiği farklı boyut örneklerine doğru şekilde dağıtabilir mi?


10

Sadece Elastik Yük Dengeleyicileri'ne bakıyordum. Anladığım kadarıyla, sadece yuvarlak robin yapıyorlar, bağlantıları arkalarındaki sunuculara eşit olarak dağıtıyorlar. Öyleyse, bir ELB'nin arkasında farklı boyut örnekleriniz varsa ne olur? Büyük örneğe daha fazla bağlantı gönderiyor mu yoksa bağlantıları eşit olarak dağıtmaya devam ediyor mu, bu da gerçekten farklı boyut örnekleri kullanmamanız gerektiği anlamına gelir.

Yanıtlar:


15

Anladığım kadarıyla, sadece yuvarlak robin yapıyorlar, bağlantıları arkalarındaki sunuculara eşit olarak dağıtıyorlar.

Bir tür, ama tam olarak sanmıyorum - ne yazık ki, Amazon ELB yönlendirme belgeleri mevcut değil, bu yüzden bir sonuç çıkarmak için bazı parçalar monte etmek gerekiyor. İşte sadece parçasıdır Kılavuzu Elastik Yük Dengeleme Geliştirici Bildiğim kadarıyla bölümüne bakın, Sabit Oturumları içinde Dengeleme Elastik Yük genel bakış :

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, yük dengeleyicinin kullanıcının oturumunu belirli bir uygulama örneğine bağlamasını sağlayan yapışkan oturum özelliğini (oturum benzeşimi olarak da bilinir) kullanabilirsiniz. Bu, oturum sırasında kullanıcıdan gelen tüm isteklerin aynı uygulama örneğine gönderilmesini sağlar. [benimkini vurgula]

Şimdi en küçük yük tam olarak ne anlama geliyor? Yine, farkında olduğum tek açıklama, 2009'dan ELB Stratejisi'ne biraz belirsiz AWS ekibi yanıtı :

ELB, her seferinde kaç istek (veya TCP durumunda bağlantı) beklediğini gevşek bir şekilde izler. Her durumda kaynak kullanımını (CPU veya bellek gibi) izlemez. ELB, halihazırda en az talepte bulunduğuna inandığı durumlar arasında yuvarlanacak. [benimkini vurgula]

Bu, sistem mimarileri ve ele alınan kullanım durumları ile ilgili çok mantıklıdır, ancak açık bir şekilde, gelişmiş HA senaryoları için isteyebileceğiniz veya ihtiyacınız olabilecek yönlendirmenin şeffaflığını ve / veya kontrolünü sağlamaz.

Yorumlamaya bağlı olarak, bunun Elastik Yük Dengeleme - Yük dağıtım politikalarına daha yeni bir AWS ekibi yanıtıyla biraz çelişebileceğini veya olmayabileceğini lütfen unutmayın :

Round-robin devreye girer, ancak istemci oturumları her zaman TTL veya DNS önbelleklerini onurlandırmaz, böylece çarpık sonuçlar ve isteklerin eşit olmayan dağılımlarını elde edebilirsiniz. ELB, trafik yönlendirme kararlarında bugüne kadar hangi trafik / talep örneklerinin alındığını etkilemez. [benimkini vurgula]

Sağlık kontrolleri

Tabii ki, yukarıdakiler, yukarıda belirtilen AWS ekibinin ELB'ye verdiği yanıtta özetlendiği gibi, örneklerin yönlendirmeye dahil edilmesini (potansiyel olarak geçici olarak) kaldırmak için biraz kaldıraç sağlayan uygun şekilde belgelenmiş, şeffaf ve kontrol edilebilir sağlık kontrolleriyle değiştirilmiştir. Strateji de:

Yük dengeleyici, yük dengeleyicinize kayıtlı örneklerinizin durumunu izler. Yük dengeleyici bir örnekle ilgili bir sorun tespit ettiğinde, ona trafik dağıtmayı durdurur. Örnek tekrar sağlıklı olduğunda, yük dengeleyici ona trafik dağıtmaya yeniden başlar. Bu işlem, uygulamanızın sağlık denetimini yapılandırmanın ötesine geçmenize gerek kalmadan başarısız örneklere otomatik olarak tepki vermesini sağlar.

Sonuç

Kesinlikle olağandışı olsa da, ELB'nin neden farklı Amazon EC2 örnek türlerinin bir havuzuyla çalışmaması gerektiğini anlamıyorum - bunu kendim denemedim ve her ikisini de öneriyorum, CloudWatch'u Kullanarak Yük Dengeleyicinizi İzleme ve izleme bireysel EC2 bulut sunucularınız ve sonuç olarak bu tür bir kurulumla ilgili içgörü ve güven elde etmek için sonuçları ilişkilendirin.


1
Böyle derin bir cevap için çok teşekkürler, tam olarak aradığım ancak bulamadım.
Sean Bannister

1
Deneyimden, size bir ELB'nin birden fazla örnek türü içeren bir havuzla trafiği iyi dağıtmadığını söylerim.
ubiquitousthey

Herkes AWS Uygulama Yük Dengeleyiciler (ALB) ve farklı örnek türleri hakkında herhangi bir bilgi var mı?
SomethingOn

1

Şimdiye kadar yapılan açıklamalara dayanarak, dağıtım algoritması son derece basittir.

ELB'nin ön ucu tipik olarak birden fazla ELB örneğidir ve dağılım yuvarlaktır.

Arka uç (örnekleriniz) algo şunları iddia ediyor:

ELB, her seferinde kaç istek (veya TCP durumunda bağlantı) beklediğini gevşek bir şekilde izler. Her durumda kaynak kullanımını (CPU veya bellek gibi) izlemez. ELB, halihazırda en az talepte bulunduğuna inandığı durumlar arasında yuvarlanacaktır.

Bu, daha büyük bir örneğin daha az bekleyen istekleri varsa, onlara daha fazla trafik yönlendirileceğini söyler. Bunu garanti etmenin bir yolu yok.

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.