Olá, Habr!
Hoje contaremos à comunidade sobre o lançamento de nosso novo serviço - Load Balancer .
Agora o serviço está disponível para todos no modo de teste beta aberto na conta pessoal VDS . É gratuito, é claro, e seremos gratos por seus comentários e sugestões.
Gente, por que agora?
Você pode perguntar razoavelmente. Nós, como todos, estamos nos acostumando com uma nova realidade pós-pandêmica (ou ainda não?) E estamos respondendo às necessidades de nossos clientes.
As empresas estão totalmente imersas no online, o que significa que a carga sobre os serviços está crescendo. O balanceador distribui solicitações de entrada para vários servidores para aumentar a tolerância a falhas e também permite organizar facilmente a escalabilidade de qualquer aplicativo.
O serviço será especialmente relevante quando um VDS não puder mais lidar com a carga ou você apenas quiser aumentar a tolerância a falhas do aplicativo.
Como funciona?
O balanceador roteia as solicitações do cliente para os servidores de produção disponíveis no grupo. Ao pesquisar regularmente o status dos servidores, o balanceador entende quais servidores estão ativos e disponíveis para processar solicitações do cliente.
Se um ou mais servidores do grupo pararem de responder, eles serão excluídos do balanceamento e os clientes não terminarão em um servidor não operacional. Assim que esses servidores são restaurados, o tráfego para eles é retornado automaticamente, e é isso que o balanceador faz, eliminando a necessidade de monitorar de forma independente a disponibilidade de cada servidor do grupo.
Além disso, como novos servidores podem ser facilmente adicionados a um grupo, o balanceador de carga pode ser escalado horizontalmente. Por exemplo, com um aumento no tráfego ou no número de solicitações, você pode adicionar novos servidores com seu aplicativo ao balanceamento, e o tráfego começará a ser distribuído uniformemente por todo o grupo, o que permitirá que você processe um número maior de pedidos do cliente no total.
Ok, está tudo claro, mas como tentar?
Você pode criar e gerenciar balanceadores por meio do painel de controle VDS ou usando nossa API se precisar automatizar este processo.
Nas regras de encaminhamento, definimos os parâmetros de encaminhamento de tráfego, especificamos as portas de entrada e saída, bem como o protocolo de tráfego entre as disponíveis: tcp, https, http, http2.
Em seguida, você pode escolher um dos dois algoritmos de balanceamento disponíveis: Round Robin ou Least Connections.
Qual algoritmo você deve escolher?
Round Robin é um algoritmo no qual os servidores fazem um círculo: a primeira solicitação é enviada para o primeiro servidor, a próxima para o segundo servidor e assim por diante até o último servidor, após o qual o ciclo é reiniciado.
Least Connections é um algoritmo no qual cada nova solicitação é enviada a um servidor com menos conexões ativas.
Para controlar automaticamente a disponibilidade de seus servidores, você pode especificar parâmetros na seção "Verificar Disponibilidade": basta definir a porta e o protocolo, bem como os intervalos para monitoramento em segundo plano da disponibilidade do servidor.
Agora só falta selecionar seu VDS ou especificar os endereços IP dos servidores. A propósito, você pode usar o balanceador não apenas com nosso VDS. Estaremos todos a favor!
Para cada balanceador de carga, alocamos 2 máquinas com haproxy, que estão envolvidas no balanceamento de tráfego, a segunda máquina neste esquema é redundante e elimina problemas com a disponibilidade do próprio balanceador, para que não se torne um único ponto de falha para todo o sistema.
Realizamos todos os trabalhos de monitorização e garantia da disponibilidade dos servidores onde se encontra o balanceador.
Conte-nos sobre sua experiência no uso de um balanceador, nosso ou qualquer outro, nos comentários. É interessante saber sua opinião.
Deixe o beta impiedoso começar!