Interface ClusterInvoker<T>

Type Parameters:
T -
All Superinterfaces:
Invoker<T>, org.apache.dubbo.common.Node
All Known Implementing Classes:
AbstractClusterInvoker, AvailableClusterInvoker, BroadcastClusterInvoker, FailbackClusterInvoker, FailfastClusterInvoker, FailoverClusterInvoker, FailsafeClusterInvoker, FilterChainBuilder.ClusterCallbackRegistrationInvoker, FilterChainBuilder.ClusterFilterChainNode, FilterChainBuilder.CopyOfClusterFilterChainNode, ForkingClusterInvoker, MergeableClusterInvoker, MockClusterInvoker, ScopeClusterInvoker, ZoneAwareClusterInvoker

public interface ClusterInvoker<T> extends Invoker<T>
This is the final Invoker type referenced by the RPC proxy on Consumer side.

A ClusterInvoker holds a group of normal invokers, stored in a Directory, mapping to one Registry. The ClusterInvoker implementation usually provides LB or HA policies, like FailoverClusterInvoker.

In multi-registry subscription scenario, the final ClusterInvoker will refer to several sub ClusterInvokers, with each sub ClusterInvoker representing one Registry. Take ZoneAwareClusterInvoker as an example, it is specially customized for multi-registry use cases: first, pick up one ClusterInvoker, then do LB inside the chose ClusterInvoker.

  • Method Details

    • getRegistryUrl

      org.apache.dubbo.common.URL getRegistryUrl()
    • getDirectory

      Directory<T> getDirectory()
    • isDestroyed

      boolean isDestroyed()
    • isServiceDiscovery

      default boolean isServiceDiscovery()
    • hasProxyInvokers

      default boolean hasProxyInvokers()