Ultimo aggiornamento:
Stanislav Anisimov
Orizzontal scaling (bilanciamento del carico)
Click to expand / collapse

Quando l'API diventa la base del prodotto e inizia a gestire decine di migliaia di richieste al secondo, è fondamentale scalarla orizzontalmente. Ciò significa aggiungere nuove istanze senza interrompere il servizio e distribuire il carico di lavoro tra di loro tramite bilanciatori.

Progettiamo e implementiamo un'architettura API scalabile in grado di crescere in modo flessibile e resistere ai picchi di carico.


Come funziona orizzontal scaling

ComponenteCosa fa
Load balancerDistribuisce il traffico in entrata tra i server API (HAProxy, Nginx, AWS ELB)
Istanze APIApplicazioni API indipendenti che elaborano richieste parallele
Archivio dati condivisoDatabase centralizzato o cache accessibile a tutte le istanze
Health-check и auto-recoveryControllo della disponibilità e ripristino automatico

Perché è necessario

Sostenibilità in caso di forte crescita delle richieste

Disponibilità guasto - Un singolo nodo non influisce sull'API

Supporto per la scalabilità senza modifiche alla logica dell'applicazione

Possibilità di eseguire aggiornamenti graduali (rolling update)

Ottimizzazione dei costi grazie alla scalabilità dinamica


Cosa usiamo

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

Orchestratori Docker Swarm, Kubernets, ECS

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

Monitoraggio: Prometheus, Grafana, Datadog

CI/CD - Deposito automatico di nuove istanze di carico


Dove è critico

API finanziarie e bancarie

Realteim games e servizi di streaming

E-commerce per vendite e picchi di lavoro

Prodotti con copertura globale e distribuzione GEO


Orizzontal scaling è una base architettonica per la crescita. Forniremo l'API su qualsiasi volume di traffico, elevata disponibilità, scalabilità dinamica e disponibilità continua.

Temi popolari


Temi principali