15. private ILogger _logger;
public MyClass(ILogger logger) {
_logger = logger;
}
…
if (_logger != null) {
_logger.Debug(
“it worked on my machine!”);
}
43. Threshold = 2
Pause = 10ms
Timeout = 30s
Request State = Open
30s has not passed
CircuitBreakerOpenException
Request
30s has not passed
CircuitBreakerOpenException
System can try
to
become
healthy
for 30s
Your Application
External
Dependency
Circuit Breaker
44. Threshold = 2
Pause = 10ms
Timeout = 30s
30s has passed
Your Application
Request State = ½ Open
Request
Failure (i.e. HTTP 500)
Failure Count = 2
State = Open
OperationFailedException
External
Dependency
Circuit Breaker
45. Threshold = 2
Pause = 10ms
Timeout = 30s
30s has passed
Request State = ½ Open
Request
Failure Count =
0
State = Closed
Response
Response
Your Application
External
Dependency
Circuit Breaker