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