jargon

Comparison

Fail fastvsFail open

Fail fast

you reject the request immediately when you already know the dependency is down, instead of making the caller wait for a timeout.

Returning an error as soon as failure is certain rather than proceeding hopefully. It frees the caller's resources and keeps queues from filling with doomed work. It is the behaviour a circuit breaker implements, and it is why validating inputs before doing expensive work is a resilience decision, not just a tidiness one.

Full entry →

Fail open

the permissions service timed out and you had to decide, in advance, whether to let the request through or block it.

The choice of default behaviour when a check cannot be performed: fail open allows, fail closed denies. Availability-critical, low-risk checks fail open; anything protecting money, data or access fails closed. The dangerous case is not choosing, because the default is then whatever the exception handler happens to do.

Full entry →

Related comparisons