Interface Cluster.CommonLbConfigOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
Cluster.CommonLbConfig, Cluster.CommonLbConfig.Builder
Enclosing class:
Cluster

public static interface Cluster.CommonLbConfigOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Details

    • hasHealthyPanicThreshold

      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;
      Returns:
      Whether the healthyPanicThreshold field is set.
    • getHealthyPanicThreshold

      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;
      Returns:
      The healthyPanicThreshold.
    • getHealthyPanicThresholdOrBuilder

      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;
    • hasZoneAwareLbConfig

      boolean hasZoneAwareLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Returns:
      Whether the zoneAwareLbConfig field is set.
    • getZoneAwareLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Returns:
      The zoneAwareLbConfig.
    • getZoneAwareLbConfigOrBuilder

      Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
    • hasLocalityWeightedLbConfig

      boolean hasLocalityWeightedLbConfig()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Returns:
      Whether the localityWeightedLbConfig field is set.
    • getLocalityWeightedLbConfig

      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Returns:
      The localityWeightedLbConfig.
    • getLocalityWeightedLbConfigOrBuilder

      Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder()
      .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
    • hasUpdateMergeWindow

      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;
      Returns:
      Whether the updateMergeWindow field is set.
    • getUpdateMergeWindow

      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;
      Returns:
      The updateMergeWindow.
    • getUpdateMergeWindowOrBuilder

      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;
    • getIgnoreNewHostsUntilFirstHc

      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;
      Returns:
      The ignoreNewHostsUntilFirstHc.
    • getCloseConnectionsOnHostSetChange

      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;
      Returns:
      The closeConnectionsOnHostSetChange.
    • hasConsistentHashingLbConfig

      boolean hasConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.api.v2.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Returns:
      Whether the consistentHashingLbConfig field is set.
    • getConsistentHashingLbConfig

      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;
      Returns:
      The consistentHashingLbConfig.
    • getConsistentHashingLbConfigOrBuilder

      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;
    • getLocalityConfigSpecifierCase

      Cluster.CommonLbConfig.LocalityConfigSpecifierCase getLocalityConfigSpecifierCase()