O que é balanceamento de carga?
Explore o IBM Instana
Ilustração gráfica do balanceamento de carga

Balanceamento de carga é o processo de distribuição eficiente do tráfego de rede entre vários servidores para otimizar a disponibilidade de aplicativos e garantir uma experiência positiva para o usuário final.

Como sites de alto tráfego e aplicativos de computação em nuvem recebem milhões de solicitações de usuários todos os dias, o balanceamento de carga é um recurso essencial para a entrega moderna de aplicativos. Por exemplo, sites de e-commerce dependem do balanceamento de carga para garantir que os aplicativos da web sejam capazes de fornecer dados, imagens, vídeos e preços dos servidores da web aos consumidores sem atrasos ou períodos de inatividade.

Faça o tour

O IBM Instana Observability oferece a todos em toda a empresa acesso amigável aos dados desejados com o contexto necessário para fornecer prevenção e correção de problemas rapidamente.

Conteúdo relacionado

Assine a newsletter da IBM

Como funciona o balanceamento de carga

O balanceamento de carga pode ser implementado de algumas maneiras. Balanceadores de carga de hardware são dispositivos físicos instalados e mantidos no local. Balanceadores de carga de software são aplicativos instalados em servidores de propriedade privada ou entregues como um serviço de nuvem gerenciada (balanceamento de carga na nuvem).

Em ambos os casos, os balanceadores de carga trabalham mediando as solicitações de clientes recebidos em tempo real e determinando quais servidores de back-end podem processar essas solicitações da melhor maneira possível. Para evitar que um único servidor seja sobrecarregado, o balanceador de carga encaminha as solicitações para vários servidores disponíveis nas instalações ou hospedados em server farms ou data centers em nuvem.

Após o servidor atribuído receber a solicitação, ele responde ao cliente por meio do balanceador de carga. O balanceador de carga então conclui a conexão servidor para cliente, combinando o endereço IP do cliente com o do servidor selecionado. O cliente e o servidor poderão se comunicar e realizar as tarefas solicitadas até que a sessão seja concluída.

Se houver um pico no tráfego de rede, um balanceador de carga pode trazer servidores adicionais on-line para acompanhar a demanda. Ou, se houver uma atividade de rede vazia, o balanceador de carga poderá reduzir o pool de servidores disponíveis. Ele também pode ajudar com o cache de rede roteando o tráfego para servidores de cache onde as solicitações de usuários anteriores são armazenadas temporariamente.

Benefícios do balanceamento de carga
Disponibilidade

Os balanceadores de carga realizam verificações de funcionamento nos servidores antes de encaminhar as solicitações para eles. Se um servidor estiver prestes a falhar, ou estiver offline para manutenção ou upgrades, o balanceamento de carga automaticamente redireciona a carga de trabalho para um servidor em operação para evitar interrupções de serviço e manter alta disponibilidade. 

Escalabilidade

O balanceamento de carga permite uma infraestrutura de alto desempenho sob demanda que pode lidar com as cargas de tráfego de rede mais pesadas ou leves. Servidores físicos ou virtuais podem ser adicionados ou removidos conforme necessário, tornando a escalabilidade simples e automatizada.

Segurança

Os balanceadores de carga podem incluir recursos de segurança, como criptografia SSL, firewalls de aplicativos web (WAF) e autenticação multifatorial (MFA). Eles também podem ser incorporados aos controladores de entrega de aplicativos (ADC) para melhorar a segurança dos aplicativos. Ao rotear ou descarregar o tráfego de rede com segurança, o balanceamento de carga pode ajudar a proteger contra riscos de segurança, como ataques de distributed denial-of-service (DDoS).

Algoritmos de balanceamento de carga

O método para rotear uma solicitação para um servidor específico é definido por um algoritmo de balanceamento de carga. Algoritmos de balanceamento de carga fornecem diferentes recursos e benefícios para satisfazer diferentes casos de uso.

Round-robin
Este algoritmo usa o DNS (Domain Name System) para atribuir sequencialmente solicitações a cada servidor em uma rotação contínua. É o método de balanceamento de carga mais básico, pois utiliza apenas o nome de cada servidor para determinar qual deles receberá a próxima solicitação recebida.

Round-robin ponderado
Além de seu nome DNS, cada servidor nesse algoritmo também recebe um “peso”. O peso determina quais servidores devem ter prioridade sobre outros para lidar com as solicitações recebidas. Um administrador decide como cada servidor será ponderado com base em sua capacidade e nas necessidades da rede.

Hash de IP
Neste algoritmo, um cálculo simplifica (ou faz hash) o endereço IP da solicitação recebida em um valor menor chamado chave de hash. Essa chave de hash exclusiva (que representa o endereço IP do usuário) é usada como base para decidir como encaminhar a solicitação para um servidor específico.

Menos conexões
Como o nome indica, esse algoritmo dá prioridade ao servidor com as menores conexões ativas quando uma nova solicitação de cliente é recebida. Esse método ajuda a evitar que os servidores fiquem sobrecarregados com conexões e a manter uma carga consistente em todos os servidores o tempo todo.

Menor tempo de resposta
Este algoritmo combina o menor método de conexão com o menor tempo médio de resposta do servidor. Tanto o número de conexões quanto o tempo que leva para um servidor realizar solicitações e enviar uma resposta são avaliados. O servidor mais rápido com menos conexões ativas receberá a solicitação recebida.

Tipos de balanceadores de carga

Enquanto o objetivo principal de qualquer balanceador de carga é distribuir tráfego, existem vários tipos de balanceadores de carga que servem funções específicas.

Balanceadores de carga de rede
Os balanceadores de carga de rede otimizam o tráfego e reduzem a latência em redes locais e de áreas amplas. Eles usam informações de rede, como endereços IP e portas de destino, juntamente com protocolos TCP e UDP, para rotear o tráfego de rede e fornecer rendimento suficiente para satisfazer a demanda do usuário.

Balanceadores de carga de aplicativos
Esses balanceadores de carga usam conteúdo de aplicativos, como URLs, sessões SSL e cabeçalhos HTTP, para rotear o tráfego de solicitações de API.
Como existem funções duplicadas em vários servidores de aplicativos, o exame do conteúdo no nível do aplicativo ajuda a determinar quais servidores podem atender a solicitações específicas de forma rápida e confiável.

Balanceadores de carga virtuais
Com o surgimento da virtualização e da tecnologia VMware, os balanceadores de carga virtuais agora estão sendo usados para otimizar o tráfego entre servidores, máquinas virtuais e contêineres. Ferramentas de orquestração de contêineres de código aberto, como o Kubernetes, oferecem recursos virtuais de balanceamento de carga para rotear solicitações entre nós de contêineres em um cluster.

Balanceadores de carga de servidor global
Esse tipo de balanceador de carga roteia o tráfego para servidores em vários locais geográficos para garantir a disponibilidade do aplicativo.
As solicitações dos usuários podem ser atribuídas ao servidor disponível mais próximo ou, se houver uma falha no servidor, a outro local com um servidor disponível. Esse recurso de failover torna o balanceamento de carga do servidor global um componente valioso da recuperação de desastres.

Soluções relacionadas
IBM Cloud® Load Balancers

Os balanceadores de carga do IBM Cloud permitem equilibrar o tráfego entre servidores para melhorar o tempo de atividade e o desempenho.

Explore os Cloud Load Balancers da IBM
IBM Instana

Descubra a plataforma líder de observabilidade empresarial para nuvens híbridas. Melhore o gerenciamento de desempenho de aplicativos e acelere pipelines de CI/CD, independentemente de onde os aplicativos residam.

Explore o IBM Instana
IBM Turbonomic

Corresponda de forma contínua e precisa a demanda de aplicativos com os recursos da nuvem em tempo real e tenha confiança em sua alocação de custos.

Explore o IBM Turbonomic
Recursos de balanceamento de carga O que é computação em nuvem?

Descubra como a computação em nuvem transforma a infraestrutura de TI em um utilitário, permitindo que você se conecte aos recursos e aplicativos de computação pela internet.

O que é o Kubernetes?

Descubra como a plataforma de orquestração de contêiner de código aberto Kubernetes automatiza a implementação, o gerenciamento e a expansão de aplicativos em contêiner.

O que é CDN (Content Delivery Network)?

CDN é um método usado para entregar conteúdo por meio de servidores colocados em diferentes localidades para agilizar a entrega aos usuários.

Dê o próximo passo

O IBM Instana fornece observabilidade em tempo real que todos — e qualquer pessoa — podem usar. Ele oferece retorno rápido ao mesmo tempo em que garante que sua estratégia de observabilidade possa acompanhar a complexidade dinâmica dos ambientes de hoje e de amanhã. Do celular ao mainframe, o Instana oferece suporte a mais de 250 tecnologias e está crescendo.

Explore o IBM Instana Inicie sua avaliação sem custo