For the complete documentation index, see llms.txt. This page is also available as Markdown.

Como Implementar um Balanceador de carga

Um Balanceador de carga distribui os pedidos entre vários servidores, para que nenhum fique sobrecarregado e o serviço se mantenha operacional mesmo que um falhe.

Neste tutorial, cria uma regra de balanceamento sobre um pool de, pelo menos, dois servidores da mesma Subscrição.

👍 O que obtém

Uma regra de balanceamento que publica um serviço num IP público e distribui o tráfego entre os servidores que escolher.

Como funciona o balanceamento

O tráfego chega a um IP e a uma porta públicos, e o balanceador distribui-o pelos servidores do pool de acordo com um algoritmo. Para que isto funcione, todos os servidores do pool têm de servir o mesmo: o balanceamento distribui a carga, não sincroniza o conteúdo.

📘 Distribui carga, não é Alta disponibilidade total

O balanceamento melhora a disponibilidade e absorve picos, mas não torna o seu serviço infalível.

Se um servidor do pool servir algo diferente dos restantes, o Cliente verá respostas inconsistentes. Mantenha o mesmo conteúdo e configuração em todos.

Antes de começar

  • Iniciar sessão na plataforma Plenit com um Utilizador com Permissões de administração sobre a Organização.

  • Ter pelo menos dois servidores implementados na mesma Subscrição. Pode criar a regra antes de os adicionar e incluí-los depois.

Passo 1. Aceda a Load Balancers

  1. Entre na subscrição de Servidores a partir do respetivo cartão.

  2. Abra a subsecção Load Balancers no menu de servidores.

Subsecção Load Balancers

Passo 2. Crie uma nova regra

Se ainda não houver regras, verá o ecrã inicial para criar uma; se já existirem, verá a lista. Selecione a Network sobre a qual vai criar a regra e prima New rule.

Creación de una nueva regla de balanceo sobre una red
Criação de uma nova regra de balanceamento numa rede

Passo 3. Configure a rede, o IP e as portas

  1. Escolha a rede com Select network.

  2. Selecione um Public IP dos disponíveis para essa rede.

  3. Defina o Protocol (TCP ou UDP), a Public Port (pela qual entram os pedidos da Internet, por exemplo 80 ou 443) e a Private Port (para a qual são reencaminhados internamente).

  4. Prima Next.

🚧 Uma porta, uma única utilização por rede

Numa mesma rede, uma porta só pode ser utilizada uma vez: não pode haver duas regras para a mesma porta no mesmo espaço de rede.

Configuración de IP, protocolo y puertos
Configuração de IP, protocolo e portas

Passo 4. Defina que redes terão acesso

Indique a partir de que IPs se pode aceder ao serviço publicado:

  • Any: acesso a partir de qualquer rede. É a opção menos segura.

  • Specify: acesso apenas a partir dos IPs ou intervalos que indicar.

Com Specify, introduza o IP ou o intervalo permitido (pode adicionar vários) e prima Next.

Definición de las redes con acceso al servicio publicado
Definição das redes com acesso ao serviço publicado

Passo 5. Escolha o algoritmo e a afinidade

Selecione como os pedidos são distribuídos entre os servidores do pool:

Algoritmo
O que faz
Quando se adequa

Round Robin

Distribui alternadamente, de forma circular

Caso geral, servidores equivalentes

Least connections

Envia cada pedido para o servidor com menos ligações ativas

Pedidos de duração desigual

Source

Atribui de acordo com o IP de origem

Quando o mesmo cliente deve ir sempre para o mesmo servidor

Em seguida, decida se ativa as regras de afinidade. Ative-as se a aplicação guardar o estado da sessão no próprio servidor e não o partilhar entre máquinas; se o fizer, preencha Table size (KB) e Expiration(s). Prima Next.

📘 A afinidade mantém o cliente no mesmo servidor

Sem estado partilhado entre servidores, distribuir às cegas pode interromper a sessão de um utilizador a meio da navegação. A afinidade evita-o, associando-o a um servidor, em troca de uma distribuição um pouco menos uniforme.

Selección del algoritmo de reparto y la afinidad
Seleção do algoritmo de distribuição e da afinidade

Passo 6. Selecione os servidores do pool

Escolha as máquinas que responderão aos pedidos. Prima cada elemento apresentado como Not selected e atribua-lhe o IP correspondente. Um servidor corretamente adicionado apresenta uma marca de verificação e o contorno assinalado com a cor da Plenit. Quando terminar, prima Create Rule.

Selección de los servidores que forman el pool del balanceador
Seleção dos servidores que formam o pool do balanceador

Passo 7. Verifique que a regra foi criada

Durante a criação, verá uma mensagem do tipo Servers: Creating Load Balancer ... e, no final, outra a confirmar que foi criada corretamente. A regra aparece na lista, embora possa ter de atualizar o ecrã.

Para confirmar que o serviço responde realmente, teste o endpoint público a partir do exterior. Em Linux ou macOS:

No Windows, a partir do PowerShell:

E em cada servidor do pool, confirme que o serviço está a escutar na porta privada. Em Linux:

No Windows:

Se algo não estiver correto

Sintoma
Causa provável
O que fazer

Não permite criar a regra devido à porta

Essa porta já está em utilização na rede

Utilize outra porta pública ou liberte a existente

O endpoint público não responde

Nenhum servidor do pool escuta na porta privada

Verifique com ss / netstat se o serviço está em execução

Um utilizador perde a sessão ao navegar

Distribuição sem estado partilhado

Ative a afinidade ou partilhe o estado entre servidores

Conclusão

Com isto, tem um serviço publicado atrás de um balanceador que distribui o tráfego entre vários servidores, o que suaviza os picos e mantém o serviço mesmo que uma máquina falhe. O balanceamento tem realmente bom desempenho quando o pool é homogéneo e escolhe o algoritmo adequado à sua carga: é aí que deixa de distribuir pedidos às cegas e passa a distribuí-los com critério.

Última atualização

Isto foi útil?