Crate revoke_resilience

Crate revoke_resilience 

Source
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;

Modules§

bulkhead
circuit_breaker
error
rate_limiter
retry
timeout