JackCode навигациясыiGaming өнімдерін жасаңыз, іске қосыңыз және масштабтаңыз.
Тілді ауыстыру
Практикалық гайд

Throttling және Circuit Breaker

Throttling және circuit breaker - API-ні шамадан тыс жүктеме мен каскадтық іркілістерден қорғау тетіктері: жүктемені шектеулі басқару және тұрақсыз сервистерді автоматты түрде ажырату.
Сарапшы Станислав Анисимов

Жоғары жүктеме және көптеген интеграциялар кезінде тек масштабталып қана қоймай, шамадан тыс жүктемелер мен көшкін тәрізді іркілістердің алдын алу маңызды.

Бұл үшін екі негізгі тетік пайдаланылады:
  • Throttling - нақты уақыт режимінде сұраулар жиілігін бақылайды, Circuit Breaker - тәуелді сервистердегі ақаулар кезінде қоңыраулар тізбегін үзеді.

Олар API-ны құлаудан қорғайды, жүйенің істен шығуға төзімділігін арттырады және тіпті ішінара істен шыққан жағдайда да тұрақты жұмыс істеуге көмектеседі.

throttling дегеніміз не?

Сипаттамасы Сипаттамасы
Жиілікті шектеу Белгіленген уақыт аралығындағы сұраулар санын басқару (RPS, RPM)
Икемді баптау Endpoint, кілт, пайдаланушы немесе IP бойынша лимиттер
Бірқалыпты тежеу Жүктемені толық бұғаттаусыз азайту

circuit breaker дегеніміз не?

Функция Не істеп жатыр
Қателер мониторингі API немесе сыртқы сервистегі қателер/таймауттар жиілігін бақылайды
Шақыруларды ажырату Жаңылыс шегіне жеткенде шақыруларды уақытша бұғаттайды
Автоматты түрде қалпына келтіру Тұрақтандыру кезінде қоңыраулардың қолжетімділігін тексеру және қосу

Біз қалай іске асырамыз

Кітапханаларды пайдалану (мысалы, Resilience4j, Hystrix, Envoy, Kong)

Кіреберісте (gateway) және backend логикасында шектеулерді теңшеу

Оқиғаларды логикалау және істен шығу/қалпына келтіру өлшемдері

Circuit breaker іске қосылғанда хабарлау және өткізу қабілетінің күрт төмендеуі

Мониторинг үшін Prometheus, Datadog, Grafana біріктіру

Артықшылықтары

Істен шығу кезінде жүйенің «опырылуынан» қорғану

Жүктемедегі және оқыс оқиғалар кезіндегі тұрақтылық

Проблемалық компоненттерді оқшаулау және API сенімділігін арттыру

Оңайлатылған жөндеу және ауытқуларға жылдам реакция

Микросервистік архитектурада каскадтық іркілістерді болдырмау

Ерекше маңызды жерде

Төлем шлюздерімен және сыртқы банктермен өзара іс-қимыл жасайтын API

Көптеген тәуелділіктері бар микросервистік сәулеттер

Миллиондаған пайдаланушылары бар және ресурстар үшін жоғары бәсекелестігі бар қосымшалар

Кідірістерге сезімтал реалтайм-платформалар


Throttling және circuit breaker - бұл API аман қалудың стратегиялық тетіктері. Біз сіздің қызметіңізге ең тұрақсыз жағдайларда да тұрақты, жылдам және болжамды болуға мүмкіндік беретін қорғауды енгіземіз.