Enum BackendService.LocalityLbPolicy

  • All Implemented Interfaces:
    com.google.protobuf.Internal.EnumLite, com.google.protobuf.ProtocolMessageEnum, Serializable, Comparable<BackendService.LocalityLbPolicy>
    Enclosing class:
    BackendService

    public static enum BackendService.LocalityLbPolicy
    extends Enum<BackendService.LocalityLbPolicy>
    implements com.google.protobuf.ProtocolMessageEnum
     The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. If sessionAffinity is not NONE, and this field is not set to MAGLEV or RING_HASH, session affinity settings will not take effect. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.
     
    Protobuf enum google.cloud.compute.v1.BackendService.LocalityLbPolicy
    • Enum Constant Detail

      • UNDEFINED_LOCALITY_LB_POLICY

        public static final BackendService.LocalityLbPolicy UNDEFINED_LOCALITY_LB_POLICY
         A value indicating that the enum field is not set.
         
        UNDEFINED_LOCALITY_LB_POLICY = 0;
      • LEAST_REQUEST

        public static final BackendService.LocalityLbPolicy LEAST_REQUEST
         An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.
         
        LEAST_REQUEST = 46604921;
      • MAGLEV

        public static final BackendService.LocalityLbPolicy MAGLEV
         This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824
         
        MAGLEV = 119180266;
      • ORIGINAL_DESTINATION

        public static final BackendService.LocalityLbPolicy ORIGINAL_DESTINATION
         Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.
         
        ORIGINAL_DESTINATION = 166297216;
      • RING_HASH

        public static final BackendService.LocalityLbPolicy RING_HASH
         The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.
         
        RING_HASH = 432795069;
      • ROUND_ROBIN

        public static final BackendService.LocalityLbPolicy ROUND_ROBIN
         This is a simple policy in which each healthy backend is selected in round robin order. This is the default.
         
        ROUND_ROBIN = 153895801;
      • WEIGHTED_MAGLEV

        public static final BackendService.LocalityLbPolicy WEIGHTED_MAGLEV
         Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
         
        WEIGHTED_MAGLEV = 254930962;
    • Field Detail

      • UNDEFINED_LOCALITY_LB_POLICY_VALUE

        public static final int UNDEFINED_LOCALITY_LB_POLICY_VALUE
         A value indicating that the enum field is not set.
         
        UNDEFINED_LOCALITY_LB_POLICY = 0;
        See Also:
        Constant Field Values
      • INVALID_LB_POLICY_VALUE

        public static final int INVALID_LB_POLICY_VALUE
        INVALID_LB_POLICY = 323318707;
        See Also:
        Constant Field Values
      • LEAST_REQUEST_VALUE

        public static final int LEAST_REQUEST_VALUE
         An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.
         
        LEAST_REQUEST = 46604921;
        See Also:
        Constant Field Values
      • MAGLEV_VALUE

        public static final int MAGLEV_VALUE
         This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824
         
        MAGLEV = 119180266;
        See Also:
        Constant Field Values
      • ORIGINAL_DESTINATION_VALUE

        public static final int ORIGINAL_DESTINATION_VALUE
         Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.
         
        ORIGINAL_DESTINATION = 166297216;
        See Also:
        Constant Field Values
      • RANDOM_VALUE

        public static final int RANDOM_VALUE
         The load balancer selects a random healthy host.
         
        RANDOM = 262527171;
        See Also:
        Constant Field Values
      • RING_HASH_VALUE

        public static final int RING_HASH_VALUE
         The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.
         
        RING_HASH = 432795069;
        See Also:
        Constant Field Values
      • ROUND_ROBIN_VALUE

        public static final int ROUND_ROBIN_VALUE
         This is a simple policy in which each healthy backend is selected in round robin order. This is the default.
         
        ROUND_ROBIN = 153895801;
        See Also:
        Constant Field Values
      • WEIGHTED_MAGLEV_VALUE

        public static final int WEIGHTED_MAGLEV_VALUE
         Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.
         
        WEIGHTED_MAGLEV = 254930962;
        See Also:
        Constant Field Values
    • Method Detail

      • values

        public static BackendService.LocalityLbPolicy[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (BackendService.LocalityLbPolicy c : BackendService.LocalityLbPolicy.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static BackendService.LocalityLbPolicy valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • getNumber

        public final int getNumber()
        Specified by:
        getNumber in interface com.google.protobuf.Internal.EnumLite
        Specified by:
        getNumber in interface com.google.protobuf.ProtocolMessageEnum
      • valueOf

        @Deprecated
        public static BackendService.LocalityLbPolicy valueOf​(int value)
        Deprecated.
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null
      • forNumber

        public static BackendService.LocalityLbPolicy forNumber​(int value)
        Parameters:
        value - The numeric wire value of the corresponding enum entry.
        Returns:
        The enum associated with the given numeric wire value.
      • getValueDescriptor

        public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor()
        Specified by:
        getValueDescriptor in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptorForType

        public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.ProtocolMessageEnum
      • getDescriptor

        public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor()
      • valueOf

        public static BackendService.LocalityLbPolicy valueOf​(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        desc - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        IllegalArgumentException - if this enum type has no constant with the specified name
        NullPointerException - if the argument is null