Pular para o conteúdo

apps/scalability/auto-scaling

138 · Escalabilidade & Infraestrutura · ≈ 6 min de estudo

Auto-Scaling

Ajusta o número de instâncias à carga: sobe quando a frota não aguenta, desce quando sobra capacidade. A decisão vem da média de uma janela deslizante de várias métricas, pede mais amostras seguidas para descer do que para subir, espera um cooldown depois de cada mudança e respeita mínimo e máximo. Picos conhecidos entram numa agenda que sobe o piso antes da hora. Use em serviços com carga variável ou sazonal.

passos
6
arquivos
2
testes
0
tecnologias
4
Lógica puraTypeScriptBunElysiaStryker
Baixar cartão

Cenário

A frota de pagamentos do banco atende 300 req/s por instância. No dia 5 a folha de pagamento chega às 08:00 — pico conhecido, que a agenda antecipa subindo o piso para 4 instâncias às 07:00. Ao meio-dia um pico de PIX sem aviso passa da capacidade máxima: o scaler sobe até o teto e alerta que a frota está subdimensionada. À tarde, com a carga baixa, desce uma instância por vez até o mínimo de 2 — nunca zero.

Planta

Estados
10/10
EstavelAgendadoScaleOutScaleInCooldownNoMaximojanela da agenda,instancias abaixodo pisoCPU, req/s ou fila porinstancia acima dolimiar em N amostrastodas as metricas friasem M amostras (M maiorque N), acima do pisocooldown maior que ostartup da instanciaquente, mas ja no maximoalerta desubdimensionamento
10

10 passos — reproduza para seguir o fluxo

  • chamada
  • resposta ou assíncrono
  • falha
  • passo
  • toque num nó para focar
  • repouso ou sucesso
  • transição
  • falha ou recusa
  • Outras plantas de estados

Como funciona

6 passos

Instâncias acompanham a carga.

Esconde cada passo: lembre antes de tocar para revelar.

  1. 01

    A cada amostra (CPU, req/s e fila da frota, lidos por HTTP), a janela guarda as últimas 3 e o scaler calcula as médias por instância

  2. 02

    Quente em qualquer métrica, estritamente acima do limiar, conta para subir; frio exige todas abaixo e fila vazia

  3. 03

    Sobe com 2 amostras quentes seguidas; desce só com 4 frias seguidas — descer cedo força subir de novo

  4. 04

    Depois de qualquer mudança, 10 minutos de cooldown, maiores que os 3 minutos de startup da instância

  5. 05

    A agenda sobe o piso no horário de Brasília; fora dela vale o mínimo, e a descida é gradual

  6. 06

    scalerConfigValidate recusa configuração que oscila (limiares a menos de 20%), escala a zero ou decide antes da instância subir

Trade-offs

O que se ganha, o que se paga

4 vantagenscada ganho tem um preço4 custos

Vantagens

  • Custo acompanha a carga

  • Média da janela ignora picos isolados

  • Agenda antecipa o pico conhecido

  • Alerta no máximo expõe subdimensionamento

Custos

  • Reativo leva minutos: janela mais cooldown

  • Pico curto e forte pode passar sem escalar

  • Agenda precisa ser mantida com o calendário do negócio

  • O scaler não resolve falta de capacidade máxima

apps/scalability/auto-scaling

2 arquivos

src/

  • scaler_fleet.tsDecisão pura: janela, sequências, cooldown, limites, agenda e validação da configuração
  • fleet_payments.tsEndpoint de métricas da frota com o modelo de carga do dia da folha

Executar · só Bun

  1. bun install# dependências
  2. bun run demo# roda o cenário
  3. bun run test# testes unitários
  4. bun run test:mutation# mutação com Stryker
Requisitos
Bun

Por que se relacionam

Teste rápido

Qual padrão vem antes de Auto-scaling?

Próximo projeto · Escalabilidade & InfraestruturaBlue-Green Deployment
Esc

↑ ↓ navegarEnter abrir191 resultados