@Internal public final class OutlierDetectionLoadBalancer extends LoadBalancer
LoadBalancer while monitoring for outlier backends and removing them from
the use of the child LB.
This implements the outlier detection gRFC: https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md
| Modifier and Type | Class and Description |
|---|---|
static class |
OutlierDetectionLoadBalancer.OutlierDetectionLoadBalancerConfig
The configuration for
OutlierDetectionLoadBalancer. |
LoadBalancer.CreateSubchannelArgs, LoadBalancer.Factory, LoadBalancer.Helper, LoadBalancer.PickResult, LoadBalancer.PickSubchannelArgs, LoadBalancer.ResolvedAddresses, LoadBalancer.Subchannel, LoadBalancer.SubchannelPicker, LoadBalancer.SubchannelStateListenerATTR_HEALTH_CHECKING_CONFIG| Constructor and Description |
|---|
OutlierDetectionLoadBalancer(LoadBalancer.Helper helper,
io.grpc.internal.TimeProvider timeProvider)
Creates a new instance of
OutlierDetectionLoadBalancer. |
| Modifier and Type | Method and Description |
|---|---|
void |
handleNameResolutionError(Status error)
Handles an error from the name resolution system.
|
void |
handleResolvedAddresses(LoadBalancer.ResolvedAddresses resolvedAddresses)
Handles newly resolved server groups and metadata attributes from name resolution system.
|
void |
shutdown()
The channel asks the load-balancer to shutdown.
|
canHandleEmptyAddressListFromNameResolution, handleResolvedAddressGroups, handleSubchannelState, requestConnectionpublic OutlierDetectionLoadBalancer(LoadBalancer.Helper helper, io.grpc.internal.TimeProvider timeProvider)
OutlierDetectionLoadBalancer.public void handleResolvedAddresses(LoadBalancer.ResolvedAddresses resolvedAddresses)
LoadBalancerservers contained in EquivalentAddressGroup should be considered equivalent
but may be flattened into a single list if needed.
Implementations should not modify the given servers.
handleResolvedAddresses in class LoadBalancerresolvedAddresses - the resolved server addresses, attributes, and config.public void handleNameResolutionError(Status error)
LoadBalancerhandleNameResolutionError in class LoadBalancererror - a non-OK statuspublic void shutdown()
LoadBalancershutdown in class LoadBalancer