pub struct ClusterManager {
pub local_cluster_name: String,
pub outlier_detection: Option<OutlierDetection>,
pub upstream_bind_config: Option<BindConfig>,
pub load_stats_config: Option<ApiConfigSource>,
pub enable_deferred_cluster_creation: bool,
}
Expand description
Cluster manager :ref:architecture overview <arch_overview_cluster_manager>
.
[#next-free-field: 6]
Fields§
§local_cluster_name: String
Name of the local cluster (i.e., the cluster that owns the Envoy running
this configuration). In order to enable :ref:zone aware routing <arch_overview_load_balancing_zone_aware_routing>
this option must be set.
If local_cluster_name
is defined then :ref:clusters <envoy_v3_api_msg_config.cluster.v3.Cluster>
must be defined in the :ref:Bootstrap static cluster resources <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.StaticResources.clusters>
. This is unrelated to
the :option:--service-cluster
option which does not affect zone aware routing <<https://github.com/envoyproxy/envoy/issues/774>
_.>
outlier_detection: Option<OutlierDetection>
Optional global configuration for outlier detection.
upstream_bind_config: Option<BindConfig>
Optional configuration used to bind newly established upstream connections. This may be overridden on a per-cluster basis by upstream_bind_config in the cds_config.
load_stats_config: Option<ApiConfigSource>
A management server endpoint to stream load stats to via
StreamLoadStats
. This must have :ref:api_type <envoy_v3_api_field_config.core.v3.ApiConfigSource.api_type>
:ref:GRPC <envoy_v3_api_enum_value_config.core.v3.ApiConfigSource.ApiType.GRPC>
.
enable_deferred_cluster_creation: bool
Whether the ClusterManager will create clusters on the worker threads inline during requests. This will save memory and CPU cycles in cases where there are lots of inactive clusters and > 1 worker thread.
Trait Implementations§
Source§impl Clone for ClusterManager
impl Clone for ClusterManager
Source§fn clone(&self) -> ClusterManager
fn clone(&self) -> ClusterManager
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ClusterManager
impl Debug for ClusterManager
Source§impl Default for ClusterManager
impl Default for ClusterManager
Source§impl Message for ClusterManager
impl Message for ClusterManager
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 ClusterManager
impl Name for ClusterManager
Source§const NAME: &'static str = "ClusterManager"
const NAME: &'static str = "ClusterManager"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.config.bootstrap.v3"
const PACKAGE: &'static str = "envoy.config.bootstrap.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 ClusterManager
impl PartialEq for ClusterManager
impl StructuralPartialEq for ClusterManager
Auto Trait Implementations§
impl Freeze for ClusterManager
impl RefUnwindSafe for ClusterManager
impl Send for ClusterManager
impl Sync for ClusterManager
impl Unpin for ClusterManager
impl UnwindSafe for ClusterManager
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