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 Classes Modifier and Type Class Description private class
ClusterImplLoadBalancer.ClusterImplLbHelper
A decoratedLoadBalancer.Helper
that applies configurations for connections or requests to endpoints in the cluster.(package private) static class
ClusterImplLoadBalancer.ClusterLocality
Represents theLoadStatsManager2.ClusterLocalityStats
and network locality name of a cluster.private static class
ClusterImplLoadBalancer.CountingStreamTracerFactory
private static class
ClusterImplLoadBalancer.OrcaPerRpcListener
-
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
Fields Modifier and Type Field Description private static io.grpc.Attributes.Key<java.util.concurrent.atomic.AtomicReference<ClusterImplLoadBalancer.ClusterLocality>>
ATTR_CLUSTER_LOCALITY
private XdsNameResolverProvider.CallCounterProvider
callCounterProvider
private ClusterImplLoadBalancer.ClusterImplLbHelper
childLbHelper
private io.grpc.util.GracefulSwitchLoadBalancer
childSwitchLb
private java.lang.String
cluster
(package private) static long
DEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTS
private LoadStatsManager2.ClusterDropStats
dropStats
private java.lang.String
edsServiceName
(package private) static boolean
enableCircuitBreaking
private io.grpc.LoadBalancer.Helper
helper
private XdsLogger
logger
private ThreadSafeRandom
random
private XdsClient
xdsClient
private io.grpc.internal.ObjectPool<XdsClient>
xdsClientPool
-
Constructor Summary
Constructors Constructor Description ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper)
ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper, ThreadSafeRandom random)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.grpc.Status
acceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
void
handleNameResolutionError(io.grpc.Status error)
void
requestConnection()
void
shutdown()
-
-
-
Field Detail
-
DEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTS
static final long DEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTS
- See Also:
- Constant Field Values
-
enableCircuitBreaking
static boolean enableCircuitBreaking
-
ATTR_CLUSTER_LOCALITY
private static final io.grpc.Attributes.Key<java.util.concurrent.atomic.AtomicReference<ClusterImplLoadBalancer.ClusterLocality>> ATTR_CLUSTER_LOCALITY
-
logger
private final XdsLogger logger
-
helper
private final io.grpc.LoadBalancer.Helper helper
-
random
private final ThreadSafeRandom random
-
cluster
private java.lang.String cluster
-
edsServiceName
@Nullable private java.lang.String edsServiceName
-
xdsClientPool
private io.grpc.internal.ObjectPool<XdsClient> xdsClientPool
-
xdsClient
private XdsClient xdsClient
-
callCounterProvider
private XdsNameResolverProvider.CallCounterProvider callCounterProvider
-
dropStats
private LoadStatsManager2.ClusterDropStats dropStats
-
childLbHelper
private ClusterImplLoadBalancer.ClusterImplLbHelper childLbHelper
-
childSwitchLb
private io.grpc.util.GracefulSwitchLoadBalancer childSwitchLb
-
-
Constructor Detail
-
ClusterImplLoadBalancer
ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper)
-
ClusterImplLoadBalancer
ClusterImplLoadBalancer(io.grpc.LoadBalancer.Helper helper, ThreadSafeRandom random)
-
-
Method Detail
-
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
-
-