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 Detail

      • 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

        Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig()
        .envoy.api.v2.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
        Returns:
        The zoneAwareLbConfig.
      • hasLocalityWeightedLbConfig

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

        Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig()
        .envoy.api.v2.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
        Returns:
        The localityWeightedLbConfig.
      • 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;