Package io.grpc.xds
Class ClusterImplLoadBalancer
java.lang.Object
io.grpc.LoadBalancer
io.grpc.xds.ClusterImplLoadBalancer
final class ClusterImplLoadBalancer
extends io.grpc.LoadBalancer
Load balancer for cluster_impl_experimental LB policy. This LB policy is the child LB policy of
the priority_experimental LB policy and the parent LB policy of the weighted_target_experimental
LB policy in the xDS load balancing hierarchy. This LB policy applies cluster-level
configurations to requests sent to the corresponding cluster, such as drop policies, circuit
breakers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
A decoratedLoadBalancer.Helper
that applies configurations for connections or requests to endpoints in the cluster.(package private) static final class
Represents theLoadStatsManager2.ClusterLocalityStats
and network locality name of a cluster.private static final class
private static final class
Nested classes/interfaces inherited from class io.grpc.LoadBalancer
io.grpc.LoadBalancer.CreateSubchannelArgs, io.grpc.LoadBalancer.ErrorPicker, io.grpc.LoadBalancer.Factory, io.grpc.LoadBalancer.FixedResultPicker, io.grpc.LoadBalancer.Helper, io.grpc.LoadBalancer.PickDetailsConsumer, io.grpc.LoadBalancer.PickResult, io.grpc.LoadBalancer.PickSubchannelArgs, io.grpc.LoadBalancer.ResolvedAddresses, io.grpc.LoadBalancer.Subchannel, io.grpc.LoadBalancer.SubchannelPicker, io.grpc.LoadBalancer.SubchannelStateListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final io.grpc.Attributes.Key
<AtomicReference<ClusterImplLoadBalancer.ClusterLocality>> private io.grpc.util.GracefulSwitchLoadBalancer
private String
(package private) static final long
private String
(package private) static boolean
private final io.grpc.LoadBalancer.Helper
private final XdsLogger
private final ThreadSafeRandom
private XdsClient
private io.grpc.internal.ObjectPool
<XdsClient> Fields inherited from class io.grpc.LoadBalancer
ATTR_HEALTH_CHECKING_CONFIG, DISABLE_SUBCHANNEL_RECONNECT_KEY, EMPTY_PICKER, HAS_HEALTH_PRODUCER_LISTENER_KEY, HEALTH_CONSUMER_LISTENER_ARG_KEY, IS_PETIOLE_POLICY
-
Constructor Summary
ConstructorsConstructorDescriptionClusterImplLoadBalancer
(io.grpc.LoadBalancer.Helper helper) ClusterImplLoadBalancer
(io.grpc.LoadBalancer.Helper helper, ThreadSafeRandom random) -
Method Summary
Modifier and TypeMethodDescriptionio.grpc.Status
acceptResolvedAddresses
(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses) void
handleNameResolutionError
(io.grpc.Status error) void
void
shutdown()
Methods inherited from class io.grpc.LoadBalancer
canHandleEmptyAddressListFromNameResolution, handleResolvedAddresses, handleSubchannelState
-
Field Details
-
DEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTS
static final long DEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTS- See Also:
-
enableCircuitBreaking
static boolean enableCircuitBreaking -
ATTR_CLUSTER_LOCALITY
private static final io.grpc.Attributes.Key<AtomicReference<ClusterImplLoadBalancer.ClusterLocality>> ATTR_CLUSTER_LOCALITY -
logger
-
helper
private final io.grpc.LoadBalancer.Helper helper -
random
-
cluster
-
edsServiceName
-
xdsClientPool
-
xdsClient
-
callCounterProvider
-
dropStats
-
childLbHelper
-
childSwitchLb
private io.grpc.util.GracefulSwitchLoadBalancer childSwitchLb
-
-
Constructor Details
-
ClusterImplLoadBalancer
ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper) -
ClusterImplLoadBalancer
ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper, ThreadSafeRandom random)
-
-
Method Details
-
acceptResolvedAddresses
public io.grpc.Status acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses) - Overrides:
acceptResolvedAddresses
in classio.grpc.LoadBalancer
-
handleNameResolutionError
public void handleNameResolutionError(io.grpc.Status error) - Specified by:
handleNameResolutionError
in classio.grpc.LoadBalancer
-
requestConnection
public void requestConnection()- Overrides:
requestConnection
in classio.grpc.LoadBalancer
-
shutdown
public void shutdown()- Specified by:
shutdown
in classio.grpc.LoadBalancer
-