pub struct WeightedRoundRobinBalancer { /* private fields */ }Expand description
Smooth Weighted Round Robin (WRR) load balancer
This balancer distributes traffic proportionally to instance weights. For example, with weights [1, 2, 3], traffic is distributed as 1:2:3.
The algorithm maintains current weights for each instance and selects the instance with the highest current weight, then reduces its weight by the total weight of all instances.
Implementations§
Trait Implementations§
Source§impl Default for WeightedRoundRobinBalancer
impl Default for WeightedRoundRobinBalancer
Auto Trait Implementations§
impl Freeze for WeightedRoundRobinBalancer
impl !RefUnwindSafe for WeightedRoundRobinBalancer
impl Send for WeightedRoundRobinBalancer
impl Sync for WeightedRoundRobinBalancer
impl Unpin for WeightedRoundRobinBalancer
impl UnwindSafe for WeightedRoundRobinBalancer
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request