Slide 86
Slide 86 text
class ResilientTrilogy
def query(...)
if @circuit_breaker.allow_request?
begin
ret = @trilogy.query(...)
@circuit_breaker.success
ret
rescue ConnectionError => e
@circuit_breaker.failure
raise
end
else
raise CircuitOpenError
end
end
end
No fallback,
but allows systems
to recover