Ultimo aggiornamento:
Stanislav Anisimov
Throttling e Circuit Breaker
Click to expand / collapse
Con carichi elevati e molteplici integrazioni, è importante non solo scalare, ma anche evitare sovraccarichi e guasti di valanga. A questo scopo vengono utilizzati due meccanismi chiave:
  • Throttling - Controlla la frequenza delle query in tempo reale, Circuito Breaker - interrompe la catena di chiamate in caso di guasti nei servizi dipendenti.

Proteggono l'API dal collasso, migliorano la disponibilità del sistema e consentono di mantenere il funzionamento stabile anche in caso di guasti parziali.


Cos'è throttling

CaratteristicheDescrizione
Limitazione della frequenzaGestione del numero di richieste a intervalli di tempo specifici (RPS, RPM)
Configurazione flessibileLimiti di endpoint, chiave, utente o IP
Rigetto fluidoRiduzione del carico senza blocco totale

Cos'è il circuito breaker

FunzioneCosa fa
Monitoraggio degli erroriControlla la frequenza di errori/timeout nell'API o nel servizio esterno
Disattiva chiamateBlocca temporaneamente le chiamate al raggiungimento della soglia di guasto
Ripristino automaticoVerifica della disponibilità e attivazione delle chiamate di stabilizzazione

Come implementiamo

Utilizzo di librerie (ad esempio Resilience4j, Hystrix, Invoy, Kong)

Impostazione dei limiti di accesso (gateway) e di logica backend

Loging degli eventi e delle metriche di errore/ripristino

Notifiche quando si attiva il circuito breaker e riduzione drastica della larghezza di banda

Integrazione con Prometheus, Datadog, Grafana per il monitoraggio


Vantaggi

Protezione contro il crollo del sistema in caso di guasti

Stabilità sotto carico e durante gli incidenti

Isolamento dei componenti problematici e maggiore affidabilità dell'API

Debug semplificato e risposta rapida alle anomalie

Prevenzione dei guasti a cascata nell'architettura a microservizi


Dove è particolarmente importante

API che interagiscono con gateway e banche esterne

Architetture a microservizi con più dipendenze

Applicazioni con milioni di utenti e elevata concorrenza per risorse

Piattaforme realtaim sensibili ai ritardi


Throttling e circuito breaker sono meccanismi strategici per la sopravvivenza dell'API. Implementeremo una protezione che permetterà al vostro servizio di rimanere stabile, veloce e prevedibile anche nelle condizioni più instabili.

Temi popolari


Temi principali