Skip to content
← Bookmarks
Added 4 Aug 2026martinfowler.comfiled under Revenue-Critical Code

When a failing dependency should stop being called

A note on Circuit Breaker by Martin Fowler, published on martinfowler.com.

The pattern is simple enough to explain in a sentence, after enough consecutive failures, stop calling the thing and fail fast until it looks healthy again, and the reason it matters is less obvious.

Without it, a slow dependency does not cause a slow feature. It causes a queue. Every request waiting on a five-second timeout is a worker not serving anyone else, and on a shared host that is how one third-party outage becomes your outage. The failure that takes a site down is rarely the dependency dying; it is the dependency getting slow while everything keeps politely waiting for it.

The monitoring angle in the piece is the part worth stealing. A breaker that has tripped is a signal you can alert on, and it is a far better signal than error-rate alone because it tells you the system already knows something is wrong.

For WordPress work this is directly relevant and widely ignored: licence checks and update pings on admin page loads are exactly this shape, and a breaker plus a cached last-known-good answer is usually a small change with a large effect.

This is the thinking behind running uptime checks at the edge.

Read the original ↗ reliability · apis · monitoring
also read
let's talk

Building something where this kind of work matters?

I'm in GMT+6 and work async-first, so your timezone is never a reason not to reach out.

Get in touch
Copyright © Hasan Misbah. All rights reserved.Privacy
Hasan Misbah