Qual algoritmo o Amazon ELB usa para equilibrar a carga?


13

Encontrei isso na documentação oficial do ELB

Por padrão, um balanceador de carga roteia cada solicitação independentemente para a instância do aplicativo com a menor carga.

mas um artigo no Newvem diz que o ELB suporta apenas o algoritmo Round Robin

Algoritmos suportados pelo Amazon ELB - Atualmente, o Amazon ELB suporta apenas algoritmos Round Robin (RR) e Session Sticky.

Entao, qual é?

[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
Eu iria com os documentos oficiais com mais de um ano, artigo sem fonte, em um blog aleatório, a menos que houvesse um motivo para acreditar no contrário. Observe, no entanto, que "a instância com a menor carga" se aplicaria apenas a uma zona específica - se você tiver uma instância na zona A e duas na zona B, o console da AWS avisa que as solicitações serão desequilibradas.
ceejayoz

'Observe, no entanto, que "a instância com a menor carga" se aplicaria apenas a uma zona específica' <Isso é mencionado na documentação oficial em algum lugar?
kn330

Tenho certeza de que foi mencionado em algum lugar, mas definitivamente é mencionado no console da AWS quando você adiciona instâncias a um ELB. Aqui está uma captura de tela: cl.ly/image/251m3g1b0E1n
ceejayoz

Abdul, aceite a resposta correta, que é do crizCraig.
precisa saber é o seguinte

Respostas:


14

É a contagem de solicitações baseada em HTTP (S), round robin para outros.

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

Antes de um cliente enviar uma solicitação ao seu balanceador de carga, ele primeiro resolve o nome de domínio do balanceador de carga com os servidores DNS (Sistema de Nomes de Domínio). O servidor DNS usa rodízio de DNS para determinar qual nó do balanceador de carga em uma zona de disponibilidade específica receberá a solicitação.

O nó do balanceador de carga selecionado envia a solicitação para instâncias íntegras na mesma zona de disponibilidade. Para determinar as instâncias íntegras, o nó do balanceador de carga usa o algoritmo de roteamento round robin (para conexões TCP) ou o pedido menos pendente (para conexões HTTP / HTTPS). O algoritmo de roteamento de solicitação menos pendente favorece instâncias de back-end com o menor número de conexões ou solicitações pendentes.


2
Esta informação está um pouco desatualizada. O balanceador de carga enviará a solicitação apenas para instâncias íntegras dentro da mesma zona de disponibilidade se o recurso de zona cruzada estiver desativado. A configuração padrão para o recurso de zona cruzada é ativada, portanto, o balanceador de carga envia uma solicitação para qualquer instância íntegra registrada no balanceador de carga usando solicitações menos pendentes para HTTP / HTTPS e round-robin para conexões TCP.
ColtonCat

Hey @ColtonCat você pode agradar a origem do link para a informação
murarisumit


2

Depende do tipo de ELB usado. Com o tempo, a AWS introduziu o Application ELB e o Network ELB junto com o Classic ELB.

Application Load Balancersaplica regras de ouvinte e atribui a solicitação (HTTP / HTTPS) a um grupo de destino. Ele seleciona um alvo desse grupo-alvo usando oround robin routing algorithm

Network Load Balancers nó que recebe a conexão, seleciona um destino de seu grupo de destino usando um flow hash routing algorithm

Classic Load Balancersusa round robin routing algorithmpara ouvintes TCP e least outstanding requests routing algorithmpara ouvintes HTTP e HTTPS

.

TLDR;

Os ELBs modernos usam round robin routing algorithmpara solicitações HTTP / HTTPS e flow hash routing algorithmTCP.

ELB clássico usado round robin routing algorithmpara solicitações TCP e solicitações least outstanding requests routing algorithmHTTP e HTTPS

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.