Show HN: Resilient, A composable async resilience toolkit for rust
Resilient is a composable async resilience toolkit designed for Rust programming. It includes features such as retry policies, timeouts, circuit breakers, and rate limiting. The toolkit allows developers to create robust applications by managing failures and ensuring smooth operation under various conditions.
- ▪Resilient provides several policies including retry, timeout, circuit breaker, rate limiter, and bulkhead.
- ▪The toolkit can be installed via dependencies in a Rust project using Cargo.
- ▪Developers can use the Pipeline feature to compose multiple policies together for enhanced resilience.
Opening excerpt (first ~120 words) tap to expand
resilient A composable async resilience toolkit for Rust — retry, timeout, circuit breaker, rate limiting, bulkheads, and fallbacks. Installation [dependencies] resilient = "0.1" tokio = { version = "1", features = ["time", "macros", "rt-multi-thread"] } Policies Policy What it does Retry Re-run a failed operation with configurable backoff Timeout Cancel if the operation takes too long Circuit Breaker Stop calling a broken dependency until it recovers Rate Limiter Cap how many calls per second reach a downstream Bulkhead Limit concurrent in-flight calls Fallback Return a default value when everything else fails Quick Start use resilient::pipeline::Pipeline; use resilient::{RetryPolicy, TimeoutPolicy, BreakerPolicy, RateLimiter}; let pipeline = Pipeline::new()…
Excerpt limited to ~120 words for fair-use compliance. The full article is at GitHub.