O que é escala horizontal
Escala horizontal é o ajuste da quantidade de instâncias que atendem a um trabalho. Adicionar instâncias é chamado de scale out, enquanto reduzir o conjunto é chamado de scale in.
Você pode usar esse ajuste numa aplicação web ou em workers que processam tarefas, mas o serviço precisa conseguir distribuir o trabalho. Criar cópias que continuam sem receber chamadas ou tarefas não amplia o atendimento.
Distribuir conforme o tipo de serviço
Uma aplicação HTTP pode usar um balanceador de carga para encaminhar requisições. Workers podem obter tarefas de uma fila, respeitando os mecanismos de entrega e conclusão oferecidos por ela.
A quantidade declarada também pode diferir da quantidade pronta para trabalhar. Uma instância recém-criada ainda pode estar iniciando ou aguardando configuração, então o ajuste precisa conferir disponibilidade efetiva.
O estado precisa continuar coerente
Sessões, arquivos e tarefas em andamento precisam de tratamento compatível com a distribuição. Isso pode envolver um armazenamento compartilhado, particionamento ou outro desenho que defina qual instância atende cada parte.
Usar o mesmo banco não resolve automaticamente todos esses aspectos. A aplicação ainda precisa lidar com alterações simultâneas, repetição de tarefas e informações mantidas apenas na memória de uma instância.
Dependências podem limitar o ganho
Mais instâncias podem abrir mais conexões com o mesmo banco ou enviar mais chamadas à mesma API. Se essa dependência já está no limite, aumentar o conjunto pode intensificar a espera e os erros.
Instâncias no mesmo host também compartilham recursos físicos. Compare capacidade, duração e falhas sob carga semelhante para verificar quanto do ganho esperado realmente apareceu no serviço.
Ajustar e reduzir exigem tempo
Uma política automática reage às medidas disponíveis e aos tempos de avaliação definidos. Instâncias levam tempo para iniciar, e oscilações frequentes podem criar um ciclo de criação e remoção sem atender bem à demanda.
A redução precisa considerar trabalho em andamento e estado local. Retirar uma instância sem permitir concluir ou recuperar suas tarefas pode produzir interrupções que o número menor de requisições não justifica.
Conferir o resultado do ajuste
Acompanhe quantas instâncias ficaram prontas, como receberam trabalho e o que mudou nas dependências. No exemplo dos anexos, consulte o mesmo arquivo pelas três instâncias e confira as respostas. Compare também o consumo e as requisições atendidas por cada uma para identificar cópias prontas que ainda não recebem trabalho.
Para revisar capacidade e comportamento conforme a demanda varia, o Conselheiro de Tecnologia da Dev Side Studio pode acompanhar a infraestrutura. A escala vertical oferece outra forma de ajustar recursos, com condições diferentes de aplicação.
Dúvidas frequentes
Perguntas frequentes sobre Escala horizontal
- Escala horizontal precisa ser automática?
- Não. Você pode ajustar a quantidade manualmente ou usar uma política automática. A automação depende das medidas, limites e tempos configurados.
- Toda aplicação horizontal usa um balanceador HTTP?
- Não. Workers podem dividir tarefas de uma fila, por exemplo. O mecanismo de distribuição depende do trabalho e da arquitetura do serviço.
- Três réplicas garantem três vezes a capacidade?
- Não. Dependências compartilhadas, contenção e recursos físicos podem limitar o ganho. É necessário medir o resultado sob carga comparável.
- Posso remover uma instância assim que a demanda cair?
- A remoção precisa considerar conexões e tarefas em andamento, além do estado local. O procedimento deve permitir concluir, transferir ou repetir o trabalho conforme a aplicação.
Para continuar
Recursos relacionados
Documentação
Microsoft: ajuste de capacidade
Escala horizontal, vertical e condições da automação.
Abrir recursoDocumentação
NGINX: balanceamento HTTP
Distribuição de requisições, afinidade e detecção de falhas.
Abrir recursoAplicação na formação
Formação DevOps
A escala horizontal altera a quantidade de instâncias para ajustar a capacidade de atendimento do serviço.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.