Останнє редагування:
Станіслав Анісімов
Horizontal scaling (балансування навантаження)
Click to expand / collapse

Коли API стає основою продукту і починає обробляти десятки тисяч запитів в секунду, критично важливо забезпечити його горизонтальне масштабування. Це означає додавання нових інстансів без зупинки сервісу і розподіл навантаження між ними за допомогою балансувальників.

Ми проектуємо і впроваджуємо масштабовану архітектуру API, здатну гнучко рости і витримувати будь-які пікові навантаження.


Як працює horizontal scaling

КомпонентЩо робить
Load balancerРозподіляє вхідний трафік між API-серверами (HAProxy, Nginx, AWS ELB)
API-інстансиНезалежні копії API-додатки, що обробляють запити паралельно
Загальне сховище данихЦентралізована БД або кеш, доступна для всіх інстансів
Health-check и auto-recoveryКонтроль доступності інстансів і автоматичне відновлення

Навіщо це потрібно

Стійкість при різкому зростанні запитів

Відмовостійкість - збій одного вузла не впливає на роботу API

Підтримка масштабування «вшир» без змін в логіці програми

Можливість викочувати оновлення поетапно (rolling update)

Оптимізація витрат за рахунок динамічного масштабування


Що ми використовуємо

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

Оркестратори: Docker Swarm, Kubernetes, ECS

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

Моніторинг: Prometheus, Grafana, Datadog

CI/CD: Автоматичний деплою нових інстансів по навантаженню


Де критично

Фінансові та банківські API

Реалтайм-ігри та стрімінгові сервіси

E-commerce при розпродажах і пікових навантаженнях

Продукти з глобальним охопленням і GEO-розподілом


Horizontal scaling - це архітектурний фундамент для зростання. Ми забезпечимо роботу вашого API на будь-яких обсягах трафіку, з високою відмовостійкістю, динамічним масштабуванням і постійною доступністю.

Популярні теми


Основні теми