Ultima actualizare:
Stanislav Anisimov
Throttling și Circuit Breaker
Click to expand / collapse
Cu sarcină mare și multe integrări, este important nu numai să scalați, ci și să preveniți supraîncărcările și defecțiunile asemănătoare avalanșelor. Pentru aceasta se utilizează două mecanisme-cheie:
  • Throttling - controlează frecvența cererilor în timp real, Circuit Breaker - rupe lanțul de apeluri atunci când eșecurile în serviciile dependente.

Ele protejează API-ul de cădere, cresc toleranța la defecțiuni a sistemului și ajută la menținerea unei funcționări stabile chiar și în cazul unor defecțiuni parțiale.


Ce este throttling

CaracteristicăDescriere
Limitarea frecvențeiControlați numărul de cereri într-un anumit interval de timp (RPS, RPM)
Tuning flexibilCriteriu final, cheie, utilizator sau limite IP
Eliberare fără problemeReducerea sarcinii fără interblocare completă

Ce este întrerupătorul de circuit

FuncțieCe face
Monitorizarea erorilorMonitorizează frecvența erorilor/timeouts în API sau serviciul extern
Deconectarea apelurilorBlochează temporar apelurile atunci când pragul de eșec este atins
Recuperare automatăVerificarea disponibilității și activarea apelurilor în timpul stabilizării

Cum implementăm

Utilizarea bibliotecilor (ex. Resilience4j, Hystrix, Trimisul, Kong)

Configurarea limitelor gateway-ului și a logicii backend

Înregistrarea evenimentelor și măsurătorile de eșec/recuperare

Notificări întrerupătoare și lățime de bandă redusă dramatic

Integrarea cu Prometheus, Datadog, Grafana pentru monitorizare


Avantaje

Protecție împotriva „colapsului” sistemului în caz de defecțiuni în funcție de

Stabilitatea sub sarcină și în timpul incidentelor

Izolați componentele problematice și îmbunătățiți fiabilitatea API

Depanare simplificată și răspuns rapid la anomalii

Evitați eșecurile în cascadă în arhitectura microservice


În cazul în care deosebit de important

API-urile interacționează cu gateway-urile de plată și băncile externe

Arhitecturi microservice multi-dependente

Aplicații cu milioane de utilizatori și concurență ridicată a resurselor

Platforme sensibile la întârzieri în timp real


Throttling și întrerupător de circuit sunt mecanisme strategice de supraviețuire ale API. Vom implementa protecție care va permite serviciului dvs. să rămână stabil, rapid și previzibil chiar și în cele mai instabile condiții.

Subiecte populare


Subiecte principale