Služba A → B → C. C spadne. B čeká na timeout, vyčerpá thread pool. A čeká na B. Kaskádové selhání. Circuit Breaker tento řetězec přeruší.
Netflix Hystrix¶
public class GetUserCommand extends HystrixCommand<User> {
@Override
protected User run() {
return client.getUser(userId);
}
@Override
protected User getFallback() {
return User.anonymous();
}
}
Tři stavy: Closed (normální), Open (blokováno, fallback), Half-Open (testovací volání). Thread pool isolation — bulkhead pattern. Hystrix Dashboard pro vizualizaci v reálném čase.
Fallback strategie¶
- Statická/cached hodnota
- Degradovaná odpověď
- Alternativní služba
- Fail fast (lepší než timeout)
Circuit Breaker je povinná výbava¶
V distribuovaném systému věci selhávají. CB brání kaskádovému kolapsu.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns