Package com.google.cloud.compute.v1
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 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 enumgoogle.cloud.compute.v1.BackendService.LocalityLbPolicy
-
-
Enum Constant Summary
Enum Constants Enum Constant Description INVALID_LB_POLICY
INVALID_LB_POLICY = 323318707;
LEAST_REQUEST
An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.MAGLEV
This algorithm implements consistent hashing to backends.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.RANDOM
The load balancer selects a random healthy host.RING_HASH
The ring/modulo hash load balancer implements consistent hashing to backends.ROUND_ROBIN
This is a simple policy in which each healthy backend is selected in round robin order.UNDEFINED_LOCALITY_LB_POLICY
A value indicating that the enum field is not set.UNRECOGNIZED
WEIGHTED_MAGLEV
Per-instance weighted Load Balancing via health check reported weights.
-
Field Summary
Fields Modifier and Type Field Description static int
INVALID_LB_POLICY_VALUE
INVALID_LB_POLICY = 323318707;
static int
LEAST_REQUEST_VALUE
An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.static int
MAGLEV_VALUE
This algorithm implements consistent hashing to backends.static 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.static int
RANDOM_VALUE
The load balancer selects a random healthy host.static int
RING_HASH_VALUE
The ring/modulo hash load balancer implements consistent hashing to backends.static int
ROUND_ROBIN_VALUE
This is a simple policy in which each healthy backend is selected in round robin order.static int
UNDEFINED_LOCALITY_LB_POLICY_VALUE
A value indicating that the enum field is not set.static int
WEIGHTED_MAGLEV_VALUE
Per-instance weighted Load Balancing via health check reported weights.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static BackendService.LocalityLbPolicy
forNumber(int value)
static com.google.protobuf.Descriptors.EnumDescriptor
getDescriptor()
com.google.protobuf.Descriptors.EnumDescriptor
getDescriptorForType()
int
getNumber()
com.google.protobuf.Descriptors.EnumValueDescriptor
getValueDescriptor()
static com.google.protobuf.Internal.EnumLiteMap<BackendService.LocalityLbPolicy>
internalGetValueMap()
static BackendService.LocalityLbPolicy
valueOf(int value)
Deprecated.static BackendService.LocalityLbPolicy
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)
Returns the enum constant of this type with the specified name.static BackendService.LocalityLbPolicy
valueOf(String name)
Returns the enum constant of this type with the specified name.static BackendService.LocalityLbPolicy[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
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;
-
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, 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;
-
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_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;
-
UNRECOGNIZED
public static final BackendService.LocalityLbPolicy UNRECOGNIZED
-
-
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 nameNullPointerException
- if the argument is null
-
getNumber
public final int getNumber()
- Specified by:
getNumber
in interfacecom.google.protobuf.Internal.EnumLite
- Specified by:
getNumber
in interfacecom.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 nameNullPointerException
- 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 interfacecom.google.protobuf.ProtocolMessageEnum
-
getDescriptorForType
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType()
- Specified by:
getDescriptorForType
in interfacecom.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 nameNullPointerException
- if the argument is null
-
-