Horizontal scaling (жүк балансы)

Качан API буюмдун негизи болуп калат жана секундасына он миңдеген суроо-талаптарды иштеп баштайт, анын горизонталдык масштабын камсыз кылуу өтө маанилүү болуп саналат. Бул кызматты токтотпостон жаңы инстанцияларды кошуу жана балансчылардын жардамы менен алардын ортосундагы жүктү бөлүштүрүү дегенди билдирет.

Биз ийкемдүү өсүп жана ар кандай жогорку жүктөрдү туруштук бере алат масштабдуу API архитектурасын иштеп чыгуу жана ишке ашыруу.


horizontal scaling кантип иштейт

КомпонентЭмне кылып жатат
Load balancerКирүүчү трафикти API серверлери (HAProxy, Nginx, AWS ELB) арасында бөлүштүрөт
API инстанцияларыКөз карандысыз көчүрмөлөрү API тиркемелер, параллелдүү суроо-талаптарды иштеп чыгуу
Жалпы маалымат сактооБардык органдар үчүн жеткиликтүү борборлоштурулган DD же кэш
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
  • Реалтайм оюндары жана стриминг кызматтары
  • Сатуу жана жогорку жүктөмдө электрондук соода
  • Глобалдык камтуу жана GEO бөлүштүрүү менен Products

Horizontal scaling өсүү үчүн архитектуралык негиз болуп саналат. Биз трафиктин бардык көлөмүндө сиздин APIңиздин иштешин камсыз кылабыз, жогорку бузулууга туруштук берүү, динамикалык масштабдоо жана туруктуу жеткиликтүүлүк менен.

Биз менен байланыш

Төмөндөгү форманы толтуруңуз, биз жакын арада жооп беребиз.

Электрондук почта:

info@jackcode.io

support@jackcode.io