Package io.grpc.xds
Class ClusterImplLoadBalancer
- java.lang.Object
-
- io.grpc.LoadBalancer
-
- io.grpc.xds.ClusterImplLoadBalancer
-
final class ClusterImplLoadBalancer extends io.grpc.LoadBalancerLoad 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 classClusterImplLoadBalancer.ClusterImplLbHelperA decoratedLoadBalancer.Helperthat applies configurations for connections or requests to endpoints in the cluster.(package private) static classClusterImplLoadBalancer.ClusterLocalityRepresents theLoadStatsManager2.ClusterLocalityStatsand network locality name of a cluster.private static classClusterImplLoadBalancer.CountingStreamTracerFactoryprivate static classClusterImplLoadBalancer.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_LOCALITYprivate XdsNameResolverProvider.CallCounterProvidercallCounterProviderprivate ClusterImplLoadBalancer.ClusterImplLbHelperchildLbHelperprivate io.grpc.util.GracefulSwitchLoadBalancerchildSwitchLbprivate java.lang.Stringcluster(package private) static longDEFAULT_PER_CLUSTER_MAX_CONCURRENT_REQUESTSprivate LoadStatsManager2.ClusterDropStatsdropStatsprivate java.lang.StringedsServiceName(package private) static booleanenableCircuitBreakingprivate io.grpc.LoadBalancer.Helperhelperprivate XdsLoggerloggerprivate ThreadSafeRandomrandomprivate XdsClientxdsClientprivate 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.StatusacceptResolvedAddresses(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)voidhandleNameResolutionError(io.grpc.Status error)voidrequestConnection()voidshutdown()
-
-
-
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:
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
-
-