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 classA decoratedLoadBalancer.Helperthat applies configurations for connections or requests to endpoints in the cluster.(package private) static final classRepresents theLoadStatsManager2.ClusterLocalityStatsand network locality name of a cluster.private static final classprivate static final classNested 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.GracefulSwitchLoadBalancerprivate String(package private) static final longprivate String(package private) static booleanprivate final io.grpc.LoadBalancer.Helperprivate final XdsLoggerprivate final ThreadSafeRandomprivate XdsClientprivate 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.StatusacceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses) voidhandleNameResolutionError(io.grpc.Status error) voidvoidshutdown()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:
acceptResolvedAddressesin classio.grpc.LoadBalancer
-
handleNameResolutionError
public void handleNameResolutionError(io.grpc.Status error) - Specified by:
handleNameResolutionErrorin classio.grpc.LoadBalancer
-
requestConnection
public void requestConnection()- Overrides:
requestConnectionin classio.grpc.LoadBalancer
-
shutdown
public void shutdown()- Specified by:
shutdownin classio.grpc.LoadBalancer
-