pub struct ClusterLoadAssignment {
pub cluster_name: String,
pub endpoints: Vec<LocalityLbEndpoints>,
pub named_endpoints: HashMap<String, Endpoint>,
pub policy: Option<Policy>,
}
Expand description
Each route from RDS will map to a single cluster or traffic split across clusters using weights expressed in the RDS WeightedCluster.
With EDS, each cluster is treated independently from a LB perspective, with LB taking place between the Localities within a cluster and at a finer granularity between the hosts within a locality. The percentage of traffic for each endpoint is determined by both its load_balancing_weight, and the load_balancing_weight of its locality. First, a locality will be selected, then an endpoint within that locality will be chose based on its weight. [#next-free-field: 6]
Fields§
§cluster_name: String
Name of the cluster. This will be the :ref:service_name <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>
value if specified
in the cluster :ref:EdsClusterConfig <envoy_v3_api_msg_config.cluster.v3.Cluster.EdsClusterConfig>
.
endpoints: Vec<LocalityLbEndpoints>
List of endpoints to load balance to.
named_endpoints: HashMap<String, Endpoint>
Map of named endpoints that can be referenced in LocalityLbEndpoints. [#not-implemented-hide:]
policy: Option<Policy>
Load balancing policy settings.
Trait Implementations§
Source§impl Clone for ClusterLoadAssignment
impl Clone for ClusterLoadAssignment
Source§fn clone(&self) -> ClusterLoadAssignment
fn clone(&self) -> ClusterLoadAssignment
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ClusterLoadAssignment
impl Debug for ClusterLoadAssignment
Source§impl Default for ClusterLoadAssignment
impl Default for ClusterLoadAssignment
Source§impl Message for ClusterLoadAssignment
impl Message for ClusterLoadAssignment
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for ClusterLoadAssignment
impl Name for ClusterLoadAssignment
Source§const NAME: &'static str = "ClusterLoadAssignment"
const NAME: &'static str = "ClusterLoadAssignment"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.config.endpoint.v3"
const PACKAGE: &'static str = "envoy.config.endpoint.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for ClusterLoadAssignment
impl PartialEq for ClusterLoadAssignment
impl StructuralPartialEq for ClusterLoadAssignment
Auto Trait Implementations§
impl Freeze for ClusterLoadAssignment
impl RefUnwindSafe for ClusterLoadAssignment
impl Send for ClusterLoadAssignment
impl Sync for ClusterLoadAssignment
impl Unpin for ClusterLoadAssignment
impl UnwindSafe for ClusterLoadAssignment
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
T
in a tonic::Request