Ostatnia aktualizacja:
Stanislav Anisimov
Skalowanie poziome
Click to expand / collapse

Kiedy API staje się podstawą produktu i zaczyna przetwarzać dziesiątki tysięcy wniosków na sekundę, kluczowe jest, aby skalować go poziomo. Oznacza to dodawanie nowych instancji bez zatrzymywania obsługi i rozłożenie obciążenia między nimi za pomocą balancerów.

Projektujemy i wdrażamy skalowalną architekturę API, która może rosnąć elastycznie i wytrzymać każde obciążenie szczytowe.


Jak działa skalowanie poziome

KomponentCo robi
Balancer obciążeniaDystrybuuje ruch przychodzący między serwerami API (HAProxy, Nginx, AWS ELB)
Instancje APINiezależne kopie wniosków o przetwarzanie aplikacji API równolegle
Wspólny sklep danychScentralizowana baza danych lub pamięć podręczna dostępna we wszystkich instancjach
Kontrola zdrowia - automatyczne odzyskiwanieDostępność instancji monitorujących i automatyczne odzyskiwanie

Dlaczego tego potrzebujesz?

Solidność w przypadku gwałtownego wzrostu wniosków

Tolerancja błędów - awaria jednego węzła nie wpływa na działanie API

Wsparcie dla szerokiego skalowania bez zmiany logiki aplikacji

Możliwość wprowadzania aktualizacji w etapach (aktualizacja krocząca)

Optymalizacja kosztów poprzez dynamiczne skalowanie


Czego używamy

Balancery obciążenia: HAProxy, Nginx, AWS ELB, GCP Load Balancer

Orkiestratorzy: Docker Swarm, Kubernetes, ECS

Stan współdzielony: Redis, Memcached, S3

Monitorowanie: Prometeusz, Grafana, Datadog

CI/CD: automatyczny dumping nowych przypadków ładunkiem


Gdzie krytyczne

API finansowe i bankowe

Gry w czasie rzeczywistym i usługi strumieniowe

Handel elektroniczny podczas sprzedaży i obciążenia szczytowe

Produkty o zasięgu globalnym i dystrybucji GEO


Skalowanie poziome jest architektonicznym fundamentem wzrostu. Zapewnimy, że API będzie pracować nad dowolnym natężeniem ruchu, z wysoką tolerancją błędów, dynamicznym skalowaniem i stałą dostępnością.

Popularne tematy


Główne tematy