Expand description
§Load Balancer Library
This library provides a set of generic load balancer implementations for distributing workloads across multiple targets, such as clients, network endpoints, or resources.
§Traits
§LoadBalancer<T>
A generic trait for asynchronous or synchronous load balancing. Implementors provide methods to allocate a resource from the pool.
use std::future::Future;
pub trait LoadBalancer<T>: Send + Sync + Clone + 'static {
/// Asynchronously allocate a resource.
fn alloc(&self) -> impl Future<Output = T> + Send;
/// Attempt to allocate a resource synchronously without awaiting.
fn try_alloc(&self) -> Option<T>;
}Re-exports§
Modules§
- cooldown
- Cooldown-based load balancer with per-entry reuse intervals.
- fault_
tolerant - Fault-tolerant load balancer with error tracking and auto-disabling.
- proxy_
pool - Proxy pool with health checking and latency-based sorting.
- random
- Random selection load balancer.
- rate_
limit - Token-bucket rate limiter.
- round_
robin - Round-robin sequential load balancer.
- window
- Sliding-window load balancer with per-entry rate limits.
Traits§
- Load
Balancer - A generic load balancer trait for allocating resources from a pool.