Expand description
§Revoke Resilience
提供熔断器、限流器、重试等弹性机制的库。
§特性
- 熔断器(Circuit Breaker): 防止级联故障
- 限流器(Rate Limiter): 令牌桶和滑动窗口算法
- 重试(Retry): 指数退避和自定义策略
- 超时(Timeout): 防止请求无限等待
- 隔离(Bulkhead): 资源隔离,防止资源耗尽
§使用示例
use revoke_resilience::{CircuitBreaker, RateLimiter};
use std::time::Duration;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 创建熔断器
let breaker = CircuitBreaker::builder("my-service")
.failure_threshold(5)
.success_threshold(3)
.timeout(Duration::from_secs(30))
.build();
// 创建限流器
let limiter = RateLimiter::token_bucket(100, Duration::from_secs(1));
Ok(())
}Re-exports§
pub use circuit_breaker::CircuitBreaker;pub use circuit_breaker::CircuitBreakerBuilder;pub use circuit_breaker::CircuitState;pub use error::ResilienceError;pub use error::Result;pub use rate_limiter::RateLimiter;pub use rate_limiter::RateLimiterType;pub use retry::RetryPolicy;pub use retry::RetryStrategy;pub use timeout::Timeout;pub use bulkhead::Bulkhead;