Class Cluster.LeastRequestLbConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.LeastRequestLbConfigOrBuilder, Serializable
    Enclosing class:
    Cluster

    public static final class Cluster.LeastRequestLbConfig
    extends com.google.protobuf.GeneratedMessageV3
    implements Cluster.LeastRequestLbConfigOrBuilder
     Specific configuration for the LeastRequest load balancing policy.
     
    Protobuf type envoy.config.cluster.v3.Cluster.LeastRequestLbConfig
    See Also:
    Serialized Form
    • Field Detail

      • CHOICE_COUNT_FIELD_NUMBER

        public static final int CHOICE_COUNT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ACTIVE_REQUEST_BIAS_FIELD_NUMBER

        public static final int ACTIVE_REQUEST_BIAS_FIELD_NUMBER
        See Also:
        Constant Field Values
      • SLOW_START_CONFIG_FIELD_NUMBER

        public static final int SLOW_START_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • hasChoiceCount

        public boolean hasChoiceCount()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        hasChoiceCount in interface Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        Whether the choiceCount field is set.
      • getChoiceCount

        public com.google.protobuf.UInt32Value getChoiceCount()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        getChoiceCount in interface Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        The choiceCount.
      • getChoiceCountOrBuilder

        public com.google.protobuf.UInt32ValueOrBuilder getChoiceCountOrBuilder()
         The number of random healthy hosts from which the host with the fewest active requests will
         be chosen. Defaults to 2 so that we perform two-choice selection if the field is not set.
         
        .google.protobuf.UInt32Value choice_count = 1 [(.validate.rules) = { ... }
        Specified by:
        getChoiceCountOrBuilder in interface Cluster.LeastRequestLbConfigOrBuilder
      • hasActiveRequestBias

        public boolean hasActiveRequestBias()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         ``weight = load_balancing_weight / (active_requests + 1)^active_request_bias``
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         ``active_request_bias`` must be greater than or equal to 0.0.
         When ``active_request_bias == 0.0`` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When ``active_request_bias > 0.0`` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        hasActiveRequestBias in interface Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        Whether the activeRequestBias field is set.
      • getActiveRequestBias

        public RuntimeDouble getActiveRequestBias()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         ``weight = load_balancing_weight / (active_requests + 1)^active_request_bias``
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         ``active_request_bias`` must be greater than or equal to 0.0.
         When ``active_request_bias == 0.0`` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When ``active_request_bias > 0.0`` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        getActiveRequestBias in interface Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        The activeRequestBias.
      • getActiveRequestBiasOrBuilder

        public RuntimeDoubleOrBuilder getActiveRequestBiasOrBuilder()
         The following formula is used to calculate the dynamic weights when hosts have different load
         balancing weights:
         ``weight = load_balancing_weight / (active_requests + 1)^active_request_bias``
         The larger the active request bias is, the more aggressively active requests will lower the
         effective weight when all host weights are not equal.
         ``active_request_bias`` must be greater than or equal to 0.0.
         When ``active_request_bias == 0.0`` the Least Request Load Balancer doesn't consider the number
         of active requests at the time it picks a host and behaves like the Round Robin Load
         Balancer.
         When ``active_request_bias > 0.0`` the Least Request Load Balancer scales the load balancing
         weight by the number of active requests at the time it does a pick.
         The value is cached for performance reasons and refreshed whenever one of the Load Balancer's
         host sets changes, e.g., whenever there is a host membership update or a host load balancing
         weight change.
         .. note::
           This setting only takes effect if all host weights are not equal.
         
        .envoy.config.core.v3.RuntimeDouble active_request_bias = 2;
        Specified by:
        getActiveRequestBiasOrBuilder in interface Cluster.LeastRequestLbConfigOrBuilder
      • hasSlowStartConfig

        public boolean hasSlowStartConfig()
         Configuration for slow start mode.
         If this configuration is not set, slow start will not be not enabled.
         
        .envoy.config.cluster.v3.Cluster.SlowStartConfig slow_start_config = 3;
        Specified by:
        hasSlowStartConfig in interface Cluster.LeastRequestLbConfigOrBuilder
        Returns:
        Whether the slowStartConfig field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(ByteBuffer data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(ByteBuffer data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.ByteString data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(com.google.protobuf.ByteString data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(byte[] data)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Cluster.LeastRequestLbConfig parseFrom​(byte[] data,
                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                      throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • newBuilderForType

        public Cluster.LeastRequestLbConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Cluster.LeastRequestLbConfig.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Cluster.LeastRequestLbConfig.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<Cluster.LeastRequestLbConfig> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Cluster.LeastRequestLbConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder