Cargo Features

tower-resilience has no features set by default.

[dependencies]
tower-resilience = { version = "0.9.3", features = ["adaptive", "bulkhead", "cache", "chaos", "circuitbreaker", "coalesce", "executor", "fallback", "hedge", "healthcheck", "layer", "outlier", "ratelimiter", "reconnect", "retry", "router", "timelimiter", "full", "health-circuitbreaker"] }
adaptive full?

Resilience patterns - enable the ones you need (alphabetical)
Adaptive: dynamic concurrency limiting (AIMD/Vegas algorithms)

Enables tower-resilience-adaptive

Optional pattern dependencies (alphabetical)

bulkhead full?

Bulkhead: isolate resources with concurrency limits

Enables tower-resilience-bulkhead

cache full?

Cache: response memoization to reduce load

Enables tower-resilience-cache

chaos full?

Chaos: inject failures and latency for testing resilience

Enables tower-resilience-chaos

circuitbreaker full? health-circuitbreaker?

Circuit breaker: prevent cascading failures by stopping calls to failing services

Enables tower-resilience-circuitbreaker

coalesce full?

Coalesce: deduplicate concurrent identical requests (singleflight)

Enables tower-resilience-coalesce

executor full?

Executor: delegate processing to dedicated thread pools

Enables tower-resilience-executor

fallback full?

Fallback: provide alternative responses when services fail

Enables tower-resilience-fallback

hedge full?

Hedge: reduce tail latency by racing parallel requests

Enables tower-resilience-hedge

healthcheck full? health-circuitbreaker?

Health check: proactive health monitoring with resource selection

Enables tower-resilience-healthcheck

layer full?

Unified error layer: compose multiple resilience layers with a single error type

Enables layer of tower-resilience-core

Core is always included

outlier full?

Outlier detection: fleet-aware instance ejection based on health tracking

Enables tower-resilience-outlier

ratelimiter full?

Rate limiter: control request rate with fixed or sliding windows

Enables tower-resilience-ratelimiter

reconnect full?

Reconnect: automatic reconnection with configurable backoff

Enables tower-resilience-reconnect

retry full?

Retry: automatic retries with exponential backoff and jitter

Enables tower-resilience-retry

router full?

Router: weighted traffic routing for canary deployments and progressive rollout

Enables tower-resilience-router

timelimiter full?

Time limiter: enforce timeouts with cancellation support

Enables tower-resilience-timelimiter

full = adaptive, bulkhead, cache, chaos, circuitbreaker, coalesce, executor, fallback, healthcheck, hedge, layer, outlier, ratelimiter, reconnect, retry, router, timelimiter

Enable all patterns at once

health-circuitbreaker = circuitbreaker, healthcheck

Integration: health checks can proactively open/close circuit breakers

Enables health-integration of tower-resilience-circuitbreaker, triggers of tower-resilience-healthcheck