~/questoes/devops
Load balancing é o processo de distribuir requisições entre múltiplos servidores backend para evitar sobrecarga em um único servidor. O NGINX, quando configurado como proxy reverso, utiliza diferentes algoritmos para essa distribuição, sendo o round-robin o comportamento padrão quando nenhum outro é explicitamente especificado.
O round-robin é o algoritmo padrão do NGINX porque distribui as requisições de forma sequencial e igualitária entre todos os servidores upstream disponíveis. Essa abordagem simples é eficaz para cenários onde os servidores têm capacidades similares, garantindo que cada backend receba aproximadamente a mesma quantidade de requisições.
Round-robin é realmente o algoritmo padrão do NGINX. Ele funciona como um carrossel, enviando a primeira requisição para o servidor 1, a segunda para o servidor 2, a terceira para o servidor 3, e depois volta ao servidor 1. Simples, previsível e funciona bem quando os servidores têm performance similar.
Weighted round-robin é um algoritmo mais avançado que permite atribuir pesos diferentes aos servidores, fazendo com que servidores mais potentes recebam mais requisições. Embora seja útil, não é o padrão do NGINX e precisa ser configurado explicitamente com a diretiva 'weight'.
Least connections escolhe o servidor com o menor número de conexões ativas no momento. É útil quando as requisições têm durações variáveis, mas não é o comportamento padrão do NGINX. Precisa ser configurado com 'least_conn' na diretiva upstream.
IP-hash usa o endereço IP do cliente para determinar sempre o mesmo servidor backend para aquele cliente. Isso é útil para manter sessões pegajosas (sticky sessions), mas não é o padrão do NGINX e requer configuração explícita com 'ip_hash'.