Enum BackendService.LocalityLbPolicy

java.lang.Object
java.lang.Enum<BackendService.LocalityLbPolicy>
com.google.cloud.compute.v1.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 Maglev:
 A Fast and Reliable Software Network Load Balancer.
 - WEIGHTED_ROUND_ROBIN: Per-endpoint Weighted Round Robin
 Load Balancing using weights computed from Backend reported Custom Metrics.
 If set, the Backend Service responses are expected to contain non-standard
 HTTP response header field Endpoint-Load-Metrics. The reported
 metrics to use for computing the weights are specified via thecustomMetrics field.

 This field is applicable to either:
 - A regional backend service with the service protocol set to HTTP,
 HTTPS, HTTP2 or H2C, and load_balancing_scheme set to
 INTERNAL_MANAGED.
 - A global backend service with the
 load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or
 EXTERNAL_MANAGED.


 If sessionAffinity is not configured—that is, if session
 affinity remains at the default value of NONE—then the
 default value for localityLbPolicy
 is ROUND_ROBIN. If session affinity is set to a value other
 than NONE,
 then the default value for localityLbPolicy isMAGLEV.

 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.

 localityLbPolicy cannot be specified with haPolicy.
 
Protobuf enum google.cloud.compute.v1.BackendService.LocalityLbPolicy
  • Enum Constant Details

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

      public static final BackendService.LocalityLbPolicy INVALID_LB_POLICY
      INVALID_LB_POLICY = 323318707;
    • 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, seeMaglev:
       A Fast and Reliable Software Network Load Balancer.
       
      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;
    • RANDOM

      public static final BackendService.LocalityLbPolicy RANDOM
       The load balancer selects a random healthy host.
       
      RANDOM = 262527171;
    • 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_GCP_RENDEZVOUS

      public static final BackendService.LocalityLbPolicy WEIGHTED_GCP_RENDEZVOUS
       Per-instance weighted Load Balancing via health check reported weights.
       In internal passthrough network load balancing, it is weighted
       rendezvous hashing.
       This option is only supported in internal passthrough network load
       balancing.
       
      WEIGHTED_GCP_RENDEZVOUS = 82501640;
    • 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;
    • WEIGHTED_ROUND_ROBIN

      public static final BackendService.LocalityLbPolicy WEIGHTED_ROUND_ROBIN
       Per-endpoint weighted round-robin Load Balancing using weights computed
       from Backend reported Custom Metrics. If set, the Backend Service
       responses are expected to contain non-standard HTTP response header field
       Endpoint-Load-Metrics. The reported metrics
       to use for computing the weights are specified via the
       customMetrics fields.
       
      WEIGHTED_ROUND_ROBIN = 5584977;
    • UNRECOGNIZED

      public static final BackendService.LocalityLbPolicy UNRECOGNIZED
  • Field Details

    • 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:
    • INVALID_LB_POLICY_VALUE

      public static final int INVALID_LB_POLICY_VALUE
      INVALID_LB_POLICY = 323318707;
      See Also:
    • 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:
    • 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, seeMaglev:
       A Fast and Reliable Software Network Load Balancer.
       
      MAGLEV = 119180266;
      See Also:
    • 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:
    • RANDOM_VALUE

      public static final int RANDOM_VALUE
       The load balancer selects a random healthy host.
       
      RANDOM = 262527171;
      See Also:
    • 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:
    • 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:
    • WEIGHTED_GCP_RENDEZVOUS_VALUE

      public static final int WEIGHTED_GCP_RENDEZVOUS_VALUE
       Per-instance weighted Load Balancing via health check reported weights.
       In internal passthrough network load balancing, it is weighted
       rendezvous hashing.
       This option is only supported in internal passthrough network load
       balancing.
       
      WEIGHTED_GCP_RENDEZVOUS = 82501640;
      See Also:
    • 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:
    • WEIGHTED_ROUND_ROBIN_VALUE

      public static final int WEIGHTED_ROUND_ROBIN_VALUE
       Per-endpoint weighted round-robin Load Balancing using weights computed
       from Backend reported Custom Metrics. If set, the Backend Service
       responses are expected to contain non-standard HTTP response header field
       Endpoint-Load-Metrics. The reported metrics
       to use for computing the weights are specified via the
       customMetrics fields.
       
      WEIGHTED_ROUND_ROBIN = 5584977;
      See Also:
  • Method Details

    • values

      public static BackendService.LocalityLbPolicy[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      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.
    • internalGetValueMap

      public static com.google.protobuf.Internal.EnumLiteMap<BackendService.LocalityLbPolicy> internalGetValueMap()
    • 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 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