Set a timeout, because the default will not save you
Php
Retry only what is safe to retry
Php
Php
Php
Circuit breaker: stop calling a service that is down
Php
Decide the degraded behaviour per feature
- Non-essential enrichment — swallow it. If a currency rate lookup fails, use yesterday's and carry on. Log it, do not surface it.
- Deferrable work — queue it. An SMS that sends four minutes late is fine; failing the registration that triggered it is not.
- Genuinely blocking — fail clearly. If payment authorization is down, say so plainly. Do not pretend to succeed.
Cache the last good response
Php
Log the outside, not just the inside
Php
Need a backend built right? Hire me for remote Laravel roles.