Algoritma apa yang digunakan ELB Amazon untuk menyeimbangkan beban?


13

Saya menemukan ini di dokumentasi ELB resmi

Secara default, penyeimbang beban merutekan setiap permintaan secara independen ke instance aplikasi dengan beban terkecil.

tetapi sebuah artikel di Newvem mengatakan bahwa ELB hanya mendukung algoritma Round Robin

Algoritma yang didukung oleh Amazon ELB - Saat ini ELB Amazon hanya mendukung Round Robin (RR) dan Session Sticky Algorithms.

Jadi yang mana?

[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
Saya akan pergi dengan dokumen resmi lebih dari setahun, artikel tidak bersumber di blog acak kecuali diberi alasan untuk percaya sebaliknya. Namun perlu dicatat bahwa "instance dengan beban terkecil" hanya berlaku untuk zona tertentu - jika Anda memiliki satu instance di zona A dan dua di zona B, konsol AWS memperingatkan Anda bahwa permintaan akan tidak seimbang.
ceejayoz

'Namun, harap dicatat, bahwa "instance dengan beban terkecil" hanya akan berlaku untuk zona tertentu' <Apakah disebutkan dalam dokumentasi resmi di suatu tempat?
kn330

Saya yakin itu disebutkan di suatu tempat, tetapi pasti disebutkan di konsol AWS ketika Anda menambahkan instance ke ELB. Berikut screenshotnya: cl.ly/image/251m3g1b0E1n
ceejayoz

Abdul, tolong terima jawaban yang benar, yaitu crizCraig.
tedder42

Jawaban:


14

Ini hitungan permintaan berdasarkan HTTP (S), round robin untuk lainnya.

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

Sebelum klien mengirim permintaan ke penyeimbang beban Anda, ia terlebih dahulu menyelesaikan nama domain penyeimbang beban dengan server Domain Name System (DNS). Server DNS menggunakan round robin DNS untuk menentukan node penyeimbang beban di Zona Ketersediaan tertentu yang akan menerima permintaan.

Node load balancer yang dipilih kemudian mengirimkan permintaan ke instance sehat dalam Zona Ketersediaan yang sama. Untuk menentukan contoh sehat, simpul penyeimbang muatan menggunakan putaran robin (untuk koneksi TCP) atau algoritma perutean yang paling tidak memuaskan (untuk koneksi HTTP / HTTPS). Algoritme perutean permintaan yang paling tidak memuaskan mendukung kasus back-end dengan koneksi paling sedikit atau permintaan yang beredar.


2
Informasi ini sedikit kedaluwarsa. Load-balancer hanya akan mengirimkan permintaan ke instance sehat dalam zona ketersediaan yang sama jika fitur lintas-zona dimatikan. Pengaturan default untuk fitur lintas-zona diaktifkan, sehingga load-balancer akan mengirim permintaan ke instance sehat apa pun yang terdaftar ke load-balancer menggunakan permintaan HTTP / HTTPS yang paling sedikit beredar, dan round-robin untuk koneksi TCP.
ColtonCat

Hei @ColtonCat, bisakah Anda menautkan sumber untuk info
murarisumit


2

Itu tergantung pada jenis ELB yang digunakan. AWS telah lama memperkenalkan ELB Aplikasi dan Jaringan ELB bersama dengan ELB Klasik.

Application Load Balancersmenerapkan aturan pendengar dan menetapkan permintaan (HTTP / HTTPS) ke grup target. Ini memilih target dari kelompok target itu menggunakanround robin routing algorithm

Network Load Balancers simpul yang menerima koneksi, memilih target dari grup targetnya menggunakan a flow hash routing algorithm

Classic Load Balancersdigunakan round robin routing algorithmuntuk pendengar TCP dan least outstanding requests routing algorithmuntuk pendengar HTTP dan HTTPS

.

TLDR;

ELB modern digunakan round robin routing algorithmuntuk permintaan HTTP / HTTPS dan flow hash routing algorithmuntuk permintaan TCP.

ELB klasik digunakan round robin routing algorithmuntuk permintaan TCP dan least outstanding requests routing algorithmuntuk permintaan HTTP dan HTTPS

Sumber / Bacaan Lebih Lanjut: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.