Architecture and Processing
Webhook Circuit Breaker Pattern
Webhook processing often triggers downstream systems such as billing services, email pipelines, or third-party APIs. When those dependencies fail, the webhook worker can become stuck retrying indefinitely.
What is a circuit breaker
A circuit breaker prevents repeated calls to a failing dependency. When failures exceed a threshold, the system temporarily stops sending requests to that dependency.
Why webhook systems need circuit breakers
Webhook handlers frequently depend on external services. For example:
- billing updates
- email notifications
- analytics pipelines
- CRM integrations
If one service fails, webhook workers may retry continuously, overloading the system.
Circuit breaker states
- Closed — normal operation
- Open — failures detected, requests blocked
- Half-open — limited test requests allowed
Example workflow
Webhook event received
↓
Process event
↓
Call external billing API
↓
Failures detected
↓
Circuit opens
↓
Events queued for retry later
Benefits
- prevents cascading system failures
- reduces retry storms
- protects external dependencies