Horizontal scaling (жүктеме теңгерімі)

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-ңіздің кез келген трафик көлемінде жұмыс істеуін қамтамасыз етеміз, жоғары істен шығуға төзімділік, динамикалық масштабтау және тұрақты қолжетімділік.

Байланысу

Төмендегі форманы толтырыңыз, біз сізге жақын арада жауап береміз.

Электрондық пошта:

info@jackcode.io

support@jackcode.io