@infra/resilience

Fault-tolerant patterns for building resilient TypeScript applications

v0.1.0

This package provides comprehensive resilience patterns including circuit breakers, retry mechanisms, rate limiting, bulkheads, and graceful degradation using Cockatiel and ts-belt Result types.

🔌
Circuit Breakers
🔄
Retry Policies
🚦
Rate Limiting
🛡️
Bulkheads
🎯
Fallbacks
Interactive Circuit Breaker

Simulate requests to see how circuit breaker protects your services from cascading failures

Current State
CLOSED
Failures
0/5
0
Successful
0
Failed
Configuration
Failure Threshold: 5 failures
Open Duration: 10s
Half-Open Attempts: 1
Activity Log

Real-time circuit breaker state changes and requests

No activity yet. Click buttons to simulate requests.
How it works:
  • • CLOSED: All requests pass through normally
  • • OPEN: Requests fail immediately after threshold
  • • HALF_OPEN: Testing if service recovered
  • • Success in HALF_OPEN → transitions to CLOSED
  • • Failure in HALF_OPEN → transitions back to OPEN
Package Features

Core Capabilities

  • ✓
    Circuit breaker with CLOSED, OPEN, HALF_OPEN states
  • ✓
    Exponential backoff with jitter for retries
  • ✓
    Token bucket rate limiting
  • ✓
    Bulkhead pattern for resource isolation
  • ✓
    Graceful degradation with fallback strategies

Integration

  • ✓
    Type-safe with @mobily/ts-belt Result types
  • ✓
    Built on Cockatiel resilience library
  • ✓
    Comprehensive metrics and monitoring
  • ✓
    Event hooks for state changes
  • ✓
    Type-safe circuit breakers for validation