Vai al contenuto

Circuit breaker

Un circuit breaker interrompe le chiamate a un servizio in errore e in seguito consente chiamate di prova limitate.

API e contratti dati

Un circuit breaker protegge un’applicazione dalle chiamate continue a un servizio dipendente in errore. Valuta determinati guasti e decide se lasciare passare nuove chiamate. Dopo un’attesa definita, chiamate di prova limitate possono verificare il ripristino del servizio.

Tre stati con autorizzazioni diverse

Nello stato closed le chiamate passano normalmente. In open vengono respinte senza essere inoltrate al servizio interessato. half-open consente solo chiamate di prova limitate; il loro esito determina se bloccare nuovamente le chiamate o riprendere il funzionamento normale.

In un portale clienti fittizio si guasta il servizio dei report PDF. Il circuit breaker aperto impedisce nuove chiamate al servizio e il portale ne mostra l’indisponibilità temporanea. Il meccanismo non salva automaticamente una richiesta di report in una coda e non ripara il servizio.

Il team definisce tipi di errore, finestra di valutazione, soglia, attesa e comportamento alternativo. Un timeout limita la durata di una chiamata; un nuovo tentativo ne avvia un’altra. Il circuit breaker decide se inoltrarla. Questi meccanismi possono cooperare, ma richiedono regole coordinate.

Fonti