Quel algorithme Amazon ELB utilise-t-il pour équilibrer la charge?

13

J'ai trouvé cela dans la documentation officielle ELB

Par défaut, un équilibreur de charge achemine chaque demande indépendamment vers l'instance d'application avec la plus petite charge.

mais un article sur Newvem dit que ELB ne prend en charge que l'algorithme Round Robin

Algorithmes pris en charge par Amazon ELB - Actuellement, Amazon ELB ne prend en charge que les algorithmes Round Robin (RR) et Session Sticky.

C'est lequel alors?

[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
la source
1
J'irais avec les documents officiels de plus d'un an, un article non sourcé sur un blog aléatoire, sauf indication contraire. Notez cependant que «l'instance avec la plus petite charge» ne s'appliquerait qu'à une zone particulière - si vous avez une instance dans la zone A et deux dans la zone B, la console AWS vous avertit que les demandes seront déséquilibrées.
ceejayoz
«Notez cependant que« l'instance avec la plus petite charge »ne s'appliquerait qu'à une zone particulière» <Est-ce mentionné quelque part dans la documentation officielle?
kn330
Je suis sûr que cela est mentionné quelque part, mais il est définitivement mentionné dans la console AWS lorsque vous ajoutez des instances à un ELB. Voici une capture d'écran: cl.ly/image/251m3g1b0E1n
ceejayoz
Abdul, veuillez accepter la bonne réponse, qui est celle de crizCraig.
tedder42

Réponses:

14

C'est le nombre de requêtes basé sur HTTP (S), round robin pour les autres.

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

Avant qu'un client envoie une demande à votre équilibreur de charge, il résout d'abord le nom de domaine de l'équilibreur de charge avec les serveurs DNS (Domain Name System). Le serveur DNS utilise le round robin DNS pour déterminer quel nœud d'équilibreur de charge dans une zone de disponibilité spécifique recevra la demande.

Le nœud d'équilibreur de charge sélectionné envoie ensuite la demande aux instances saines de la même zone de disponibilité. Pour déterminer les instances saines, le nœud d'équilibreur de charge utilise l'algorithme de routage à tour de rôle (pour les connexions TCP) ou le moins en attente (pour les connexions HTTP / HTTPS). L'algorithme de routage des demandes le moins en attente favorise les instances principales avec le moins de connexions ou de demandes en suspens.

crizCraig
la source
2
Ces informations sont légèrement obsolètes. L'équilibreur de charge n'enverra la demande aux instances saines de la même zone de disponibilité que si la fonction inter-zone est désactivée. Le paramètre par défaut pour la fonctionnalité inter-zone est activé, ainsi l'équilibreur de charge enverra une demande à toute instance saine enregistrée auprès de l'équilibreur de charge en utilisant les demandes les moins en suspens pour HTTP / HTTPS, et le tourniquet pour les connexions TCP.
ColtonCat
Hey @ColtonCat pouvez-vous s'il vous plaît lier la source pour l'info
murarisumit
La référence pour plus d'informations est: docs.aws.amazon.com/elasticloadbalancing/latest/userguide/…
murarisumit
2

Cela dépend du type d'ELB utilisé. Au fil du temps, AWS a introduit ELB d'application et ELB de réseau avec l'ELB classique.

Application Load Balancersapplique des règles d'écoute et attribue la demande (HTTP / HTTPS) à un groupe cible. Il sélectionne une cible de ce groupe cible en utilisant leround robin routing algorithm

Network Load Balancers nœud qui reçoit la connexion, sélectionne une cible dans son groupe cible à l'aide d'un flow hash routing algorithm

Classic Load Balancersutilise round robin routing algorithmpour les écouteurs TCP et least outstanding requests routing algorithmpour les écouteurs HTTP et HTTPS

.

TLDR;

Les ELB modernes utilisent round robin routing algorithmpour les requêtes HTTP / HTTPS et flow hash routing algorithmpour les requêtes TCP.

ELB classique utilisé round robin routing algorithmpour les requêtes TCP et least outstanding requests routing algorithmpour les requêtes HTTP et HTTPS

Source / Lectures complémentaires: https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#routing-algorithm

Shri
la source