¿Qué algoritmo usa Amazon ELB para equilibrar la carga?

13

Encontré esto en la documentación oficial de ELB

De forma predeterminada, un equilibrador de carga enruta cada solicitud de forma independiente a la instancia de la aplicación con la carga más pequeña.

pero un artículo sobre Newvem dice que ELB solo admite el algoritmo Round Robin

Algoritmos compatibles con Amazon ELB : actualmente, Amazon ELB solo admite Round Robin (RR) y Session Sticky Algorithms.

Entonces, ¿cuál es?

[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

kn330
fuente
1
Me gustaría ir con los documentos oficiales de más de un año, artículo sin fuente en un blog al azar a menos que se les dé una razón para creer lo contrario. Sin embargo, tenga en cuenta que la "instancia con la carga más pequeña" se aplicaría solo a una zona en particular: si tiene una instancia en la zona A y dos en la zona B, la consola de AWS le advierte que las solicitudes estarán desequilibradas.
ceejayoz
'Tenga en cuenta, sin embargo, que "la instancia con la carga más pequeña" se aplicaría solo a una zona en particular' <¿Se menciona en alguna parte de la documentación oficial?
kn330
Estoy seguro de que se menciona en alguna parte, pero definitivamente se menciona en la consola de AWS cuando agrega instancias a un ELB. Aquí hay una captura de pantalla: cl.ly/image/251m3g1b0E1n
ceejayoz
Abdul, acepta la respuesta correcta, que es de crizCraig.
tedder42

Respuestas:

14

Es el recuento de solicitudes basado en HTTP (S), round robin para otros.

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

Antes de que un cliente envíe una solicitud a su equilibrador de carga, primero resuelve el nombre de dominio del equilibrador de carga con los servidores del Sistema de nombres de dominio (DNS). El servidor DNS utiliza la operación por turnos de DNS para determinar qué nodo de equilibrador de carga en una zona de disponibilidad específica recibirá la solicitud.

El nodo del equilibrador de carga seleccionado envía la solicitud a instancias en buen estado dentro de la misma zona de disponibilidad. Para determinar las instancias en buen estado, el nodo del equilibrador de carga utiliza el algoritmo de enrutamiento round robin (para conexiones TCP) o la solicitud menos pendiente (para conexiones HTTP / HTTPS). El algoritmo de enrutamiento de solicitudes menos pendiente favorece las instancias de fondo con la menor cantidad de conexiones o solicitudes pendientes.

crizCraig
fuente
2
Esta información está un poco desactualizada. El equilibrador de carga solo enviará la solicitud a instancias en buen estado dentro de la misma zona de disponibilidad si la función de zona cruzada está desactivada. La configuración predeterminada para la función de zona cruzada está habilitada, por lo tanto, el equilibrador de carga enviará una solicitud a cualquier instancia saludable registrada en el equilibrador de carga utilizando solicitudes menos pendientes para HTTP / HTTPS y round-robin para conexiones TCP.
ColtonCat
Hola @ColtonCat, ¿puedes vincular la fuente de la información
Murarisumit
La referencia para obtener información es: docs.aws.amazon.com/elasticloadbalancing/latest/userguide/…
murarisumit
2

Depende del tipo de ELB utilizado. Con el tiempo, AWS introdujo Application ELB y Network ELB junto con Classic ELB.

Application Load Balancersaplica las reglas de escucha y asigna la solicitud (HTTP / HTTPS) a un grupo objetivo. Selecciona un objetivo de ese grupo objetivo utilizando elround robin routing algorithm

Network Load Balancers nodo que recibe la conexión, selecciona un objetivo de su grupo objetivo utilizando un flow hash routing algorithm

Classic Load Balancersusos round robin routing algorithmpara escuchas TCP y least outstanding requests routing algorithmpara escuchas HTTP y HTTPS

.

TLDR;

Los ELB modernos se utilizan round robin routing algorithmpara solicitudes HTTP / HTTPS y flow hash routing algorithmpara solicitudes TCP.

ELB clásico utilizado round robin routing algorithmpara solicitudes TCP y least outstanding requests routing algorithmpara solicitudes HTTP y HTTPS

Fuente / Lectura adicional: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

Shri
fuente