StackPractices

Tag: resilience

Browse 24 practical software engineering resources tagged with "resilience". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving resilience. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.

Resilience Patterns

Resilience is the ability of a system to recover from failures and continue operating. It is built from retries, circuit breakers, bulkheads, fallbacks, and graceful degradation rather than a single technique.

The patterns and recipes below cover circuit breakers, timeouts, retries with backoff, bulkheads, load shedding, and failover. Each resource shows how to limit blast radius and protect users from cascading failures.

Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.

Retry with Exponential Backoff

Implement resilient retry strategies with exponential backoff, jitter, and circuit breaker...

Chaos Engineering

Build resilient systems by intentionally injecting failures and observing how your distributed...

Dead Letter Queues

Handle failed messages gracefully with dead letter queues, retry policies, and poison pill...

LLM Fallback Pattern

Fall back to alternative LLM providers or models when the primary fails. Handle rate limits,...

Back-Pressure Pattern

Prevent upstream systems from overwhelming downstream consumers by propagating flow-control signals...

Circuit Breaker Pattern

Prevent cascading failures by stopping requests to failing services. An architectural pattern for...

Compensating Transaction Pattern

Undo the effects of a completed transaction by executing a counter-operation, enabling eventual...

Graceful Degradation Pattern

Degrade functionality instead of failing when dependencies are unavailable. Serve partial results,...

Retry Pattern

Retry an operation that has failed with transient errors, using configurable strategies like fixed...

Scheduler Agent Supervisor Pattern

Coordinate resilient job scheduling by separating scheduling logic from execution agents and adding...

Shed Load Pattern

Drop requests proactively under extreme load to protect the system. Reject excess traffic before it...

Timeout Pattern

Prevent operations from hanging indefinitely by enforcing a maximum execution time. A resilience...

Circuit Breaker with Monitoring

How to expose circuit breaker state as metrics for observability. Covers Prometheus integration,...

Bulkhead Pattern: Isolate Resources to Limit Blast Radius

How to isolate resources per service to limit blast radius. Covers thread pool isolation,...

Circuit Breaker Half-Open

How to test service recovery with half-open circuit breaker state transitions. Covers closed, open,...

Fallover: Switch to Standby on Primary Failure Detection

How to switch to a standby system on primary failure detection. Covers active-passive,...

Graceful Shutdown: Drain In-Flight Requests Before Exit

How to drain in-flight requests before process exit. Covers signal handling, health check removal,...

Token Bucket Rate Limiter: Smooth Traffic with Token Buckets

How to implement token bucket rate limiting for API protection. Covers bucket refill, burst...

Retry with Jitter: Exponential Backoff and Random Jitter

How to retry failed operations with exponential backoff and random jitter. Covers full jitter,...

Backup Verification Test Template

A template to plan and document backup verification tests, ensuring restore procedures work before...