Package io.grpc.util

Class OutlierDetectionLoadBalancer


  • @Internal
    public final class OutlierDetectionLoadBalancer
    extends io.grpc.LoadBalancer
    Wraps a child 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

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  OutlierDetectionLoadBalancer.OutlierDetectionLoadBalancerConfig
      The configuration for OutlierDetectionLoadBalancer.
      • Nested classes/interfaces inherited from class io.grpc.LoadBalancer

        io.grpc.LoadBalancer.CreateSubchannelArgs, io.grpc.LoadBalancer.Factory, io.grpc.LoadBalancer.Helper, 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 inherited from class io.grpc.LoadBalancer

        ATTR_HEALTH_CHECKING_CONFIG
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acceptResolvedAddresses​(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)  
      void handleNameResolutionError​(io.grpc.Status error)  
      void shutdown()  
      • Methods inherited from class io.grpc.LoadBalancer

        canHandleEmptyAddressListFromNameResolution, handleResolvedAddresses, handleSubchannelState, requestConnection
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • OutlierDetectionLoadBalancer

        public OutlierDetectionLoadBalancer​(io.grpc.LoadBalancer.Helper helper,
                                            io.grpc.internal.TimeProvider timeProvider)
        Creates a new instance of OutlierDetectionLoadBalancer.
    • Method Detail

      • acceptResolvedAddresses

        public boolean acceptResolvedAddresses​(io.grpc.LoadBalancer.ResolvedAddresses resolvedAddresses)
        Overrides:
        acceptResolvedAddresses in class io.grpc.LoadBalancer
      • handleNameResolutionError

        public void handleNameResolutionError​(io.grpc.Status error)
        Specified by:
        handleNameResolutionError in class io.grpc.LoadBalancer
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in class io.grpc.LoadBalancer