All Classes and Interfaces
Class
Description
AbsentConfigurator
AbsentConfiguratorFactory
AbstractClusterInvoker
The abstract implementation of ConditionMatcher, records the match and mismatch patterns of this matcher while at the same time
provides the common match logics.
AbstractConfigurator
Abstract implementation of Directory: Invoker list returned from this Directory's list method have been filtered by Routers
AbstractLoadBalance
TODO Extract more code here if necessary
The abstract class of StateRoute.
AdaptiveLoadBalance
Application level router, "application.condition-router"
Application level router factory
AppRouter should after ServiceRouter
analysis the arguments in the rule.
analysis the arguments in the rule.
AvailableCluster
AvailableClusterInvoker
BitList based on BitMap implementation.
BroadcastCluster
BroadcastClusterInvoker
If you want to provide a router implementation based on design of v2.7.0, please extend from this abstract class.
If you want to provide a router implementation based on design of v2.7.0, please extend from this abstract class.
CallbackConsumerContextFilter set current RpcContext with invoker,invocation, local host, remote host and port
for consumer callback invoker.It does it to make the requires info available to execution thread's RpcContext.
Cluster.
Deprecated.
This is the final Invoker type referenced by the RPC proxy on Consumer side.
ClusterUtils
ConditionMatcher represents a specific match condition of a condition rule.
Factory of ConditionMatcher instances.
%YAML1.2
scope: application
runtime: true
force: false
conditions:
- >
method!=sayHello =>
- >
ip=127.0.0.1
=>
1.1.1.1
Condition Router directs traffics matching the 'when condition' to a particular address subset determined by the 'then condition'.
ConditionRouterFactory
Load when "override://" is configured
ConditionStateRouterConfig parser
Configurator.
ConfiguratorFactory.
ConsistentHashLoadBalance
ConsumerContextFilter set current RpcContext with invoker,invocation, local host, remote host and port
for consumer invoker.It does it to make the requires info available to execution thread's RpcContext.
Directory.
When fails, record failure requests and schedule for retry on a regular interval.
Execute exactly once, which means this policy will throw an exception immediately in case of an invocation error.
When invoke fails, log the initial error and retry other invokers (retry n times, which means at most n different invokers will be invoked)
Note that retry causes latency.
When invoke fails, log the error message and ignore this error by returning an empty Result.
Works on consumer side
Works on provider side
NOTICE! This implementation does not work well with async call.
LeastActiveLoadBalance
Abstract router which listens to dynamic configuration
LoadBalance.
Mesh Rule Listener
Such as Kubernetes, Service Mesh (xDS) environment support define rule in env
mock impl
A specific Router designed to realize mock feature.
OverrideConfigurator
OverrideConfiguratorFactory
ListenerProtocol
Application level router, "application.condition-router"
Tag router factory
This class select one provider from multiple providers randomly.
Matches with patterns like 'key=1~100', 'key=~100' or 'key=1~'
Round robin load balance.
Router.
Router chain
RouterFactory.
ScopeClusterInvoker is a cluster invoker which handles the invocation logic of a single service in a specific scope.
Introducing ScopeClusterInvoker section through Dubbo SPI mechanism
ScriptRouter
ScriptRouterFactory
Service level router, "server-unique-name.condition-router"
Service level router factory
ServiceRouter should before AppRouter
ShortestResponseLoadBalance
Router chain
State Router.
StaticDirectory
%YAML1.2
---
force: true
runtime: false
enabled: true
priority: 1
key: demo-provider
tags:
- name: tag1
addresses: [ip1, ip2]
- name: tag2
addresses: [ip3, ip4]
...
Parse raw rule into structured tag rule
TagRouter, "application.tag-router"
Tag router factory
SPI to get tracing context from 3rd-party tracing utils ( e.g.
This instance will be loaded separately to ensure it always gets executed as the last matcher.
Matches with patterns like 'key=hello', 'key=hello*', 'key=*hello', 'key=h*o' or 'key=*'
When there are more than one registry for subscription.