Ultima actualizare:
Stanislav Anisimov
Scalare orizontală
Click to expand / collapse

Când API-ul devine baza unui produs și începe să proceseze zeci de mii de cereri pe secundă, este esențial să-l scalați orizontal. Acest lucru înseamnă adăugarea de noi cazuri fără oprirea serviciului și distribuirea sarcinii între ele folosind balansoare.

Proiectăm și implementăm o arhitectură API scalabilă care poate crește flexibil și rezista oricărei sarcini de vârf.


Cum funcționează scalarea orizontală

ComponentăCe face
Balansor de sarcinăDistribuie traficul de intrare între serverele API (HAProxy, Nginx, AWS ELB)
instanțe APICopii independente ale cererilor de procesare a cererilor API în paralel
Magazin de date partajateBază de date centralizată sau memorie cache disponibilă tuturor instanțelor
Verificarea stării de sănătate и auto-recuperareMonitorizarea disponibilității instanțelor și a recuperării automate

De ce ai nevoie de ea

Robustețe în caz de creștere bruscă a cererilor

Toleranța la erori - eșecul unui nod nu afectează funcționarea API

Suport pentru scalare largă fără a schimba logica aplicației

Abilitatea de a lansa actualizări în etape (actualizare de rulare)

Optimizarea costurilor prin scalare dinamică


Ce folosim

Balansoare de încărcare: HAProxy, Nginx, AWS ELB, GCP Load Balancer

Orchestratori: Docker Swarm, Kubernetes, ECS

Кеш и stare comună: Redis, Memcached, S3

Monitorizare: Prometheus, Grafana, Datadog

CI/CD: Dumping automat de noi instanțe de încărcare


În cazul în care critică

API-uri financiare și bancare

Jocuri în timp real și servicii de streaming

Comerțul electronic în timpul vânzărilor și al încărcărilor de vârf

Produse cu acoperire globală și distribuție de GEO


Scalarea orizontală este fundamentul arhitectural pentru creștere. Ne vom asigura că API-ul va funcționa la orice volum de trafic, cu toleranță ridicată la erori, scalare dinamică și disponibilitate constantă.

Subiecte populare


Subiecte principale