Son yenilənmə:
Stanislav Anisimov
Horizontal scaling (yük balans)
Click to expand / collapse

API məhsulun əsasına çevrildikdə və saniyədə on minlərlə sorğu emal etməyə başladıqda, üfüqi miqyasını təmin etmək vacibdir. Bu, xidməti dayandırmadan yeni instansiyaların əlavə edilməsi və balanslaşdırıcıların köməyi ilə yükün onlar arasında bölüşdürülməsi deməkdir.

Biz asanlıqla böyüyə bilən və hər hansı bir pik yükə tab gətirə bilən API ölçülü arxitekturanı layihələndiririk və tətbiq edirik.


Horizontal scaling necə işləyir

KomponentNə edir
Load balancerAPI serverləri arasında gələn trafiki paylayır (HAProxy, Nginx, AWS ELB)
API instansiyalarAPI tətbiqetmələrinin müstəqil surətləri, paralel sorğu emalı
Ümumi məlumat saxlamaBütün orqanlar üçün mövcud olan mərkəzləşdirilmiş DB və ya cache
Health-check и auto-recoveryInstansiyaların əlçatanlığına nəzarət və avtomatik bərpa

Niyə lazımdır

Tələblərin kəskin artması ilə sabitlik

Uğursuzluq - bir qovşağın uğursuzluğu API-nin işinə təsir etmir

Tətbiqin məntiqində dəyişiklik etmədən «genişləyin» miqyasını dəstəkləyir

Yeniləmələri mərhələli şəkildə çıxartmaq imkanı (rolling update)

Dinamik miqyasla xərclərin optimallaşdırılması


Nə istifadə edirik

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

Orkestratorlar: Docker Swarm, Kubernetes, ECS

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

Monitorinq: Prometheus, Grafana, Datadog

CI/CD: Yük üzrə yeni instansiyaların avtomatik deplosu


Harada kritik

Maliyyə və Bank API

Realtaym oyunları və axın xidmətləri

Satış və pik yüklərdə E-ticarət

Qlobal əhatə və GEO paylanması ilə məhsullar


Horizontal scaling böyümə üçün memarlıq təməlidir. API-lərinizi istənilən trafik həcmində, yüksək nasazlıq, dinamik ölçmə və daimi mövcudluğu ilə təmin edəcəyik.

Populyar mövzular


Əsas mövzular