Skip to main content

Resilience Patterns

MCP Server LangGraph includes production-grade resilience patterns to handle failures gracefully. See ADR-0030: Resilience Patterns for design rationale.

Overview

The resilience module provides five patterns:

Circuit Breaker

The circuit breaker prevents cascade failures by failing fast when a service is unhealthy.

States

  • CLOSED: Normal operation, requests pass through
  • OPEN: Service unhealthy, requests fail immediately
  • HALF_OPEN: Testing if service recovered

Usage

Configuration


Retry with Backoff

Automatically retry failed operations with exponential backoff and jitter.

Usage

Retry Strategies

Backoff Calculation

With exponential backoff and jitter:

Timeout Enforcement

Prevent hanging requests with configurable timeouts.

Usage

Handling Timeouts


Bulkhead Isolation

Limit concurrent requests to prevent resource exhaustion.

Usage

Configuration

Bulkhead per Service

Create separate bulkheads for different services:

Fallback Strategies

Define what happens when operations fail.

Available Strategies

Custom Fallback Functions


Combining Patterns

For production use, combine multiple patterns:

Configuration via Environment

Configure resilience patterns globally:

Environment Variables


Metrics and Monitoring

All resilience patterns emit OpenTelemetry metrics:

Testing Resilience

Test Circuit Breaker

Test with Mocked Failures