Última atualização:
Stanislav Anisimov
Escaling horizontal (balanceamento de carga)
Click to expand / collapse

Quando a API se torna a base do produto e começa a processar dezenas de milhares de solicitações por segundo, é essencial que ele seja escalado horizontalmente. Isto significa adicionar novas instâncias sem parar o serviço e distribuir a carga de trabalho entre elas por meio de balanceadores.

Nós projetamos e implementamos uma API escalável capaz de crescer flexivelmente e suportar qualquer carga de pico.


Como funciona o escaling horizontal

ComponenteO que faz
Load balancerDistribui o tráfego de entrada entre os servidores API (HAProxy, Nginx, AWS ELB)
instâncias APICópias independentes de API que processam consultas paralelas
Armazenamento de dados compartilhadoUm banco de dados centralizado ou um dinheiro disponível para todas as instâncias
Health-check и auto-recoveryControle de disponibilidade de instâncias e recuperação automática

Para quê é preciso

Sustentabilidade quando as solicitações aumentam fortemente

Resistência à falha - falha em um único nó não afeta a API

Suporte ao zoom do aplicativo sem alterações na lógica do aplicativo

Capacidade de rodar atualizações em etapas (rolling update)

Otimizar custos com escala dinâmica


O que usamos

Load balancers: HAProxy, Nginx, AWS ELB, GCP Load Balancer

Orquestradores: Docker Swarm, Kubernetes, ECS

Кеш и shared state: Redis, Memcached, S3

Monitoramento: Prometheus, Grafana, Datadog

CI/CD: Deposição automática de novas instâncias de carga


Onde é crítico

API financeira e bancária

Jogos de realtaim e serviços de streaming

E-commerce em vendas e cargas de pico

Produtos com cobertura global e distribuição GEO


Horizontal escaling é uma base arquitetônica para o crescimento. Vamos garantir que a sua API funcione em qualquer volume de tráfego, com alta resistência, escala dinâmica e disponibilidade constante.

Temas populares


Temas principais