public static final class Cluster.CommonLbConfig extends com.google.protobuf.GeneratedMessageV3 implements Cluster.CommonLbConfigOrBuilder
Common configuration for all load balancer implementations. [#next-free-field: 8]Protobuf type
envoy.api.v2.Cluster.CommonLbConfig
Modifier and Type | Class and Description |
---|---|
static class |
Cluster.CommonLbConfig.Builder
Common configuration for all load balancer implementations.
|
static class |
Cluster.CommonLbConfig.ConsistentHashingLbConfig
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
|
static interface |
Cluster.CommonLbConfig.ConsistentHashingLbConfigOrBuilder |
static class |
Cluster.CommonLbConfig.LocalityConfigSpecifierCase |
static class |
Cluster.CommonLbConfig.LocalityWeightedLbConfig
Configuration for :ref:`locality weighted load balancing
<arch_overview_load_balancing_locality_weighted_lb>`
Protobuf type
envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig |
static interface |
Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder |
static class |
Cluster.CommonLbConfig.ZoneAwareLbConfig
Configuration for :ref:`zone aware routing
<arch_overview_load_balancing_zone_aware_routing>`.
|
static interface |
Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder |
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
Modifier and Type | Field and Description |
---|---|
static int |
CLOSE_CONNECTIONS_ON_HOST_SET_CHANGE_FIELD_NUMBER |
static int |
CONSISTENT_HASHING_LB_CONFIG_FIELD_NUMBER |
static int |
HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER |
static int |
IGNORE_NEW_HOSTS_UNTIL_FIRST_HC_FIELD_NUMBER |
static int |
LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER |
static int |
UPDATE_MERGE_WINDOW_FIELD_NUMBER |
static int |
ZONE_AWARE_LB_CONFIG_FIELD_NUMBER |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj) |
boolean |
getCloseConnectionsOnHostSetChange()
If set to `true`, the cluster manager will drain all existing
connections to upstream hosts whenever hosts are added or removed from the cluster.
|
Cluster.CommonLbConfig.ConsistentHashingLbConfig |
getConsistentHashingLbConfig()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
|
Cluster.CommonLbConfig.ConsistentHashingLbConfigOrBuilder |
getConsistentHashingLbConfigOrBuilder()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
|
static Cluster.CommonLbConfig |
getDefaultInstance() |
Cluster.CommonLbConfig |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
Percent |
getHealthyPanicThreshold()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
|
PercentOrBuilder |
getHealthyPanicThresholdOrBuilder()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
|
boolean |
getIgnoreNewHostsUntilFirstHc()
If set to true, Envoy will not consider new hosts when computing load balancing weights until
they have been health checked for the first time.
|
Cluster.CommonLbConfig.LocalityConfigSpecifierCase |
getLocalityConfigSpecifierCase() |
Cluster.CommonLbConfig.LocalityWeightedLbConfig |
getLocalityWeightedLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3; |
Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder |
getLocalityWeightedLbConfigOrBuilder()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3; |
com.google.protobuf.Parser<Cluster.CommonLbConfig> |
getParserForType() |
int |
getSerializedSize() |
com.google.protobuf.UnknownFieldSet |
getUnknownFields() |
com.google.protobuf.Duration |
getUpdateMergeWindow()
If set, all health check/weight/metadata updates that happen within this duration will be
merged and delivered in one shot when the duration expires.
|
com.google.protobuf.DurationOrBuilder |
getUpdateMergeWindowOrBuilder()
If set, all health check/weight/metadata updates that happen within this duration will be
merged and delivered in one shot when the duration expires.
|
Cluster.CommonLbConfig.ZoneAwareLbConfig |
getZoneAwareLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2; |
Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder |
getZoneAwareLbConfigOrBuilder()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2; |
boolean |
hasConsistentHashingLbConfig()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
|
int |
hashCode() |
boolean |
hasHealthyPanicThreshold()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
|
boolean |
hasLocalityWeightedLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3; |
boolean |
hasUpdateMergeWindow()
If set, all health check/weight/metadata updates that happen within this duration will be
merged and delivered in one shot when the duration expires.
|
boolean |
hasZoneAwareLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2; |
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
static Cluster.CommonLbConfig.Builder |
newBuilder() |
static Cluster.CommonLbConfig.Builder |
newBuilder(Cluster.CommonLbConfig prototype) |
Cluster.CommonLbConfig.Builder |
newBuilderForType() |
protected Cluster.CommonLbConfig.Builder |
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) |
protected Object |
newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) |
static Cluster.CommonLbConfig |
parseDelimitedFrom(InputStream input) |
static Cluster.CommonLbConfig |
parseDelimitedFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Cluster.CommonLbConfig |
parseFrom(byte[] data) |
static Cluster.CommonLbConfig |
parseFrom(byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Cluster.CommonLbConfig |
parseFrom(ByteBuffer data) |
static Cluster.CommonLbConfig |
parseFrom(ByteBuffer data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Cluster.CommonLbConfig |
parseFrom(com.google.protobuf.ByteString data) |
static Cluster.CommonLbConfig |
parseFrom(com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Cluster.CommonLbConfig |
parseFrom(com.google.protobuf.CodedInputStream input) |
static Cluster.CommonLbConfig |
parseFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static Cluster.CommonLbConfig |
parseFrom(InputStream input) |
static Cluster.CommonLbConfig |
parseFrom(InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
static com.google.protobuf.Parser<Cluster.CommonLbConfig> |
parser() |
Cluster.CommonLbConfig.Builder |
toBuilder() |
void |
writeTo(com.google.protobuf.CodedOutputStream output) |
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public static final int HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER
public static final int ZONE_AWARE_LB_CONFIG_FIELD_NUMBER
public static final int LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER
public static final int UPDATE_MERGE_WINDOW_FIELD_NUMBER
public static final int IGNORE_NEW_HOSTS_UNTIL_FIRST_HC_FIELD_NUMBER
public static final int CLOSE_CONNECTIONS_ON_HOST_SET_CHANGE_FIELD_NUMBER
public static final int CONSISTENT_HASHING_LB_CONFIG_FIELD_NUMBER
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
newInstance
in class com.google.protobuf.GeneratedMessageV3
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
getUnknownFields
in interface com.google.protobuf.MessageOrBuilder
getUnknownFields
in class com.google.protobuf.GeneratedMessageV3
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable
in class com.google.protobuf.GeneratedMessageV3
public Cluster.CommonLbConfig.LocalityConfigSpecifierCase getLocalityConfigSpecifierCase()
getLocalityConfigSpecifierCase
in interface Cluster.CommonLbConfigOrBuilder
public boolean hasHealthyPanicThreshold()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`. If not specified, the default is 50%. To disable panic mode, set to 0%. .. note:: The specified percent will be truncated to the nearest 1%.
.envoy.type.Percent healthy_panic_threshold = 1;
hasHealthyPanicThreshold
in interface Cluster.CommonLbConfigOrBuilder
public Percent getHealthyPanicThreshold()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`. If not specified, the default is 50%. To disable panic mode, set to 0%. .. note:: The specified percent will be truncated to the nearest 1%.
.envoy.type.Percent healthy_panic_threshold = 1;
getHealthyPanicThreshold
in interface Cluster.CommonLbConfigOrBuilder
public PercentOrBuilder getHealthyPanicThresholdOrBuilder()
Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`. If not specified, the default is 50%. To disable panic mode, set to 0%. .. note:: The specified percent will be truncated to the nearest 1%.
.envoy.type.Percent healthy_panic_threshold = 1;
getHealthyPanicThresholdOrBuilder
in interface Cluster.CommonLbConfigOrBuilder
public boolean hasZoneAwareLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
hasZoneAwareLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
getZoneAwareLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder()
.envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
getZoneAwareLbConfigOrBuilder
in interface Cluster.CommonLbConfigOrBuilder
public boolean hasLocalityWeightedLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
hasLocalityWeightedLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
getLocalityWeightedLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder()
.envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
getLocalityWeightedLbConfigOrBuilder
in interface Cluster.CommonLbConfigOrBuilder
public boolean hasUpdateMergeWindow()
If set, all health check/weight/metadata updates that happen within this duration will be merged and delivered in one shot when the duration expires. The start of the duration is when the first update happens. This is useful for big clusters, with potentially noisy deploys that might trigger excessive CPU usage due to a constant stream of healthcheck state changes or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new cluster). Please always keep in mind that the use of sandbox technologies may change this behavior. If this is not set, we default to a merge window of 1000ms. To disable it, set the merge window to 0. Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is because merging those updates isn't currently safe. See https://github.com/envoyproxy/envoy/pull/3941.
.google.protobuf.Duration update_merge_window = 4;
hasUpdateMergeWindow
in interface Cluster.CommonLbConfigOrBuilder
public com.google.protobuf.Duration getUpdateMergeWindow()
If set, all health check/weight/metadata updates that happen within this duration will be merged and delivered in one shot when the duration expires. The start of the duration is when the first update happens. This is useful for big clusters, with potentially noisy deploys that might trigger excessive CPU usage due to a constant stream of healthcheck state changes or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new cluster). Please always keep in mind that the use of sandbox technologies may change this behavior. If this is not set, we default to a merge window of 1000ms. To disable it, set the merge window to 0. Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is because merging those updates isn't currently safe. See https://github.com/envoyproxy/envoy/pull/3941.
.google.protobuf.Duration update_merge_window = 4;
getUpdateMergeWindow
in interface Cluster.CommonLbConfigOrBuilder
public com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder()
If set, all health check/weight/metadata updates that happen within this duration will be merged and delivered in one shot when the duration expires. The start of the duration is when the first update happens. This is useful for big clusters, with potentially noisy deploys that might trigger excessive CPU usage due to a constant stream of healthcheck state changes or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new cluster). Please always keep in mind that the use of sandbox technologies may change this behavior. If this is not set, we default to a merge window of 1000ms. To disable it, set the merge window to 0. Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is because merging those updates isn't currently safe. See https://github.com/envoyproxy/envoy/pull/3941.
.google.protobuf.Duration update_merge_window = 4;
getUpdateMergeWindowOrBuilder
in interface Cluster.CommonLbConfigOrBuilder
public boolean getIgnoreNewHostsUntilFirstHc()
If set to true, Envoy will not consider new hosts when computing load balancing weights until they have been health checked for the first time. This will have no effect unless active health checking is also configured. Ignoring a host means that for any load balancing calculations that adjust weights based on the ratio of eligible hosts and total hosts (priority spillover, locality weighting and panic mode) Envoy will exclude these hosts in the denominator. For example, with hosts in two priorities P0 and P1, where P0 looks like {healthy, unhealthy (new), unhealthy (new)} and where P1 looks like {healthy, healthy} all traffic will still hit P0, as 1 / (3 - 2) = 1. Enabling this will allow scaling up the number of hosts for a given cluster without entering panic mode or triggering priority spillover, assuming the hosts pass the first health check. If panic mode is triggered, new hosts are still eligible for traffic; they simply do not contribute to the calculation when deciding whether panic mode is enabled or not.
bool ignore_new_hosts_until_first_hc = 5;
getIgnoreNewHostsUntilFirstHc
in interface Cluster.CommonLbConfigOrBuilder
public boolean getCloseConnectionsOnHostSetChange()
If set to `true`, the cluster manager will drain all existing connections to upstream hosts whenever hosts are added or removed from the cluster.
bool close_connections_on_host_set_change = 6;
getCloseConnectionsOnHostSetChange
in interface Cluster.CommonLbConfigOrBuilder
public boolean hasConsistentHashingLbConfig()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
.envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
hasConsistentHashingLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.ConsistentHashingLbConfig getConsistentHashingLbConfig()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
.envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
getConsistentHashingLbConfig
in interface Cluster.CommonLbConfigOrBuilder
public Cluster.CommonLbConfig.ConsistentHashingLbConfigOrBuilder getConsistentHashingLbConfigOrBuilder()
Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
.envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
getConsistentHashingLbConfigOrBuilder
in interface Cluster.CommonLbConfigOrBuilder
public final boolean isInitialized()
isInitialized
in interface com.google.protobuf.MessageLiteOrBuilder
isInitialized
in class com.google.protobuf.GeneratedMessageV3
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
writeTo
in interface com.google.protobuf.MessageLite
writeTo
in class com.google.protobuf.GeneratedMessageV3
IOException
public int getSerializedSize()
getSerializedSize
in interface com.google.protobuf.MessageLite
getSerializedSize
in class com.google.protobuf.GeneratedMessageV3
public boolean equals(Object obj)
equals
in interface com.google.protobuf.Message
equals
in class com.google.protobuf.AbstractMessage
public int hashCode()
hashCode
in interface com.google.protobuf.Message
hashCode
in class com.google.protobuf.AbstractMessage
public static Cluster.CommonLbConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
com.google.protobuf.InvalidProtocolBufferException
public static Cluster.CommonLbConfig parseFrom(InputStream input) throws IOException
IOException
public static Cluster.CommonLbConfig parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static Cluster.CommonLbConfig parseDelimitedFrom(InputStream input) throws IOException
IOException
public static Cluster.CommonLbConfig parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
IOException
public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
IOException
public Cluster.CommonLbConfig.Builder newBuilderForType()
newBuilderForType
in interface com.google.protobuf.Message
newBuilderForType
in interface com.google.protobuf.MessageLite
public static Cluster.CommonLbConfig.Builder newBuilder()
public static Cluster.CommonLbConfig.Builder newBuilder(Cluster.CommonLbConfig prototype)
public Cluster.CommonLbConfig.Builder toBuilder()
toBuilder
in interface com.google.protobuf.Message
toBuilder
in interface com.google.protobuf.MessageLite
protected Cluster.CommonLbConfig.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
newBuilderForType
in class com.google.protobuf.GeneratedMessageV3
public static Cluster.CommonLbConfig getDefaultInstance()
public static com.google.protobuf.Parser<Cluster.CommonLbConfig> parser()
public com.google.protobuf.Parser<Cluster.CommonLbConfig> getParserForType()
getParserForType
in interface com.google.protobuf.Message
getParserForType
in interface com.google.protobuf.MessageLite
getParserForType
in class com.google.protobuf.GeneratedMessageV3
public Cluster.CommonLbConfig getDefaultInstanceForType()
getDefaultInstanceForType
in interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType
in interface com.google.protobuf.MessageOrBuilder
Copyright © 2018–2021 The Envoy Project. All rights reserved.