Amazon ELB ใช้อัลกอริธึมอะไรในการโหลดบาลานซ์?


13

ฉันพบสิ่งนี้ในเอกสารประกอบอย่างเป็นทางการของ ELB

โดยค่าเริ่มต้นตัวโหลดบาลานซ์จะกำหนดเส้นทางการร้องขอแต่ละครั้งอย่างอิสระไปยังอินสแตนซ์ของแอปพลิเคชันด้วยการโหลดที่เล็กที่สุด

แต่บทความเกี่ยวกับ Newvem กล่าวว่า ELB รองรับอัลกอริทึม Round Robin เท่านั้น

อัลกอริทึมที่สนับสนุนโดย Amazon ELB - ปัจจุบัน Amazon ELB รองรับ Round Robin (RR) และอัลกอริทึม Sticky ของเซสชันเท่านั้น

แล้วอันไหนล่ะ?

[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
ฉันจะไปกับเอกสารอย่างเป็นทางการที่มีอายุมากกว่าหนึ่งปีซึ่งไม่มีบทความในบล็อกแบบสุ่มเว้นแต่จะมีเหตุผลที่จะเชื่อเป็นอย่างอื่น อย่างไรก็ตามโปรดทราบว่า "อินสแตนซ์ที่มีการโหลดน้อยที่สุด" จะใช้กับโซนเฉพาะ - หากคุณมีหนึ่งอินสแตนซ์ในโซน A และสองในโซน B คอนโซล AWS จะเตือนคุณว่าคำขอจะไม่สมดุล
ceejayoz

'โปรดทราบว่า "อินสแตนซ์ที่มีภาระงานน้อยที่สุด" จะใช้กับโซนเฉพาะเท่านั้น' <มันถูกกล่าวถึงในเอกสารอย่างเป็นทางการหรือไม่?
kn330

ฉันแน่ใจว่ามันพูดถึงที่ไหนสักแห่ง แต่มันถูกกล่าวถึงอย่างแน่นอนในคอนโซล AWS เมื่อคุณเพิ่มอินสแตนซ์ไปยัง ELB นี่คือภาพหน้าจอ: cl.ly/image/251m3g1b0E1n
ceejayoz

อับดุลโปรดยอมรับคำตอบที่ถูกต้องซึ่งเป็นของ crizCraig
tedder42

คำตอบ:


14

มันนับคำขอตาม HTTP (S), robin รอบสำหรับคนอื่น ๆ

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

ก่อนที่ไคลเอ็นต์จะส่งการร้องขอไปยัง load balancer ของคุณก่อนอื่นให้แก้ไขชื่อโดเมนของ load balancer ด้วยเซิร์ฟเวอร์ Domain Name System (DNS) เซิร์ฟเวอร์ DNS ใช้ DNS round robin เพื่อกำหนดโหนดตัวโหลดบาลานซ์ในโซนความพร้อมใช้งานเฉพาะที่จะได้รับการร้องขอ

โหนดโหลดบาลานเซอร์ที่เลือกจากนั้นส่งการร้องขอไปยังอินสแตนซ์ที่ดีภายในโซนความพร้อมใช้งานเดียวกัน เมื่อต้องการกำหนดอินสแตนซ์ที่สมบูรณ์โหนดโหนโหลดบาลานเซอร์จะใช้ round robin (สำหรับการเชื่อมต่อ TCP) หรืออัลกอริทึมการร้องขอที่น้อยที่สุด (สำหรับการเชื่อมต่อ HTTP / HTTPS) อัลกอริทึมการร้องขอเส้นทางที่น้อยที่สุดที่โดดเด่นรองรับอินสแตนซ์แบ็คเอนด์ที่มีการเชื่อมต่อน้อยที่สุดหรือการร้องขอที่ค้างอยู่


2
ข้อมูลนี้ล้าสมัยเล็กน้อย ตัวโหลดบาลานซ์จะส่งคำร้องขอไปยังอินสแตนซ์ที่มีประโยชน์ภายในโซนความพร้อมใช้งานเดียวกันหากปิดคุณสมบัติข้ามโซน การตั้งค่าเริ่มต้นสำหรับคุณสมบัติข้ามโซนถูกเปิดใช้งานดังนั้นตัวโหลดบาลานซ์จะส่งการร้องขอไปยังอินสแตนซ์ที่ดีต่อสุขภาพใด ๆ ที่ลงทะเบียนกับโหลดบาลานซ์โดยใช้คำร้องขอที่โดดเด่นน้อยที่สุดสำหรับ HTTP / HTTPS และ round-robin สำหรับการเชื่อมต่อ TCP
ColtonCat

เฮ้ @ColtonCat คุณช่วยกรุณาลิงค์แหล่งข้อมูลได้
ไหม

การอ้างอิงสำหรับข้อมูลคือ: docs.aws.amazon.com/elasticloadbalancing/latest/userguide/…
murarisumit

2

ขึ้นอยู่กับประเภทของ ELB ที่ใช้ AWS ได้เปิดตัวแอปพลิเคชั่น ELB และ Network ELB เมื่อเวลาผ่านไปพร้อมกับ Classic ELB

Application Load Balancersใช้กฎ listener และกำหนดคำขอ (HTTP / HTTPS) ให้กับกลุ่มเป้าหมาย มันเลือกเป้าหมายจากกลุ่มเป้าหมายนั้นโดยใช้round robin routing algorithm

Network Load Balancers โหนดที่ได้รับการเชื่อมต่อเลือกเป้าหมายจากกลุ่มเป้าหมายโดยใช้ flow hash routing algorithm

Classic Load Balancersใช้round robin routing algorithmสำหรับ TCP Listeners และleast outstanding requests routing algorithmสำหรับ HTTP และ HTTPS Listeners

.

TLDR;

ELB ที่ทันสมัยใช้round robin routing algorithmสำหรับการร้องขอ HTTP / HTTPS และflow hash routing algorithmการร้องขอ TCP

Classic ELB ใช้round robin routing algorithmสำหรับคำขอ TCP และคำขอleast outstanding requests routing algorithmHTTP และ HTTPS

แหล่งที่มา / การอ่านเพิ่มเติม: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.