resilience-patterns

Implements resilient distributed system patterns including circuit breakers, bulkheads, and retries.

1|Updated Mar 6, 2026
One-click install
npx skills add https://github.com/chavangorakh1999/sde-skills --skill resilience-patterns-chavangorakh1999
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resilience-patterns
Source: https://github.com/chavangorakh1999/sde-skills/tree/main/sde-architecture/skills/resilience-patterns
Command: npx skills add https://github.com/chavangorakh1999/sde-skills --skill resilience-patterns-chavangorakh1999

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill addresses the inherent unreliability of distributed systems by providing patterns to prevent cascading failures and ensure graceful degradation when dependencies fail.

Core Features & Use Cases

  • Prevent Cascading Failures: Implement strategies like circuit breakers, timeouts, and bulkheads to isolate failures.
  • Ensure Graceful Degradation: Utilize fallbacks and retries to maintain service availability even when parts of the system are down.
  • Improve System Observability: Configure health checks for effective monitoring and management.
  • Use Case: When designing a microservice that relies on multiple external APIs, apply these patterns to ensure that a slow or failing API doesn't bring down your entire service.

Quick Start

Apply the circuit breaker pattern to the payment service API call with a failure threshold of 5 and a recovery timeout of 30 seconds.

Frequently Asked Questions about resilience-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent cascading failures in microservices when an external API goes down?

To prevent cascading failures in microservices, implement resilience patterns like circuit breakers and bulkheads to isolate failing dependencies and stop them from bringing down your entire service.

What is the best way to implement retries with exponential backoff and jitter in distributed systems?

Implementing retries with exponential backoff and jitter in distributed systems involves progressively increasing wait times between retry attempts while adding random variations to prevent thundering herd problems.

When should I use a circuit breaker pattern versus a bulkhead for fault tolerance?

Use a circuit breaker to stop calling a failing external API after reaching a threshold, whereas a bulkhead isolates resources by limiting concurrent calls to prevent thread or connection pool exhaustion.

How do I configure health checks for microservice observability and failure recovery?

Configure health checks in your microservices to regularly monitor dependency availability and system status, enabling effective observability and triggering automated recovery mechanisms during failures.

Do I need asynchronous programming knowledge to implement circuit breaker and fallback patterns?

Yes, understanding asynchronous programming and network protocols is required to effectively apply circuit breaker, fallback, and timeout patterns for service-to-service communication in distributed systems.

Why does my microservice degrade gracefully when external dependencies fail?

Your microservice degrades gracefully when external dependencies fail by utilizing fallback mechanisms that return default responses or cached data, maintaining partial service availability instead of crashing.