dubbo集群实现类图
2022-05-09 10:56:24 1 举报
dubbo集群的实现
作者其他创作
大纲/内容
配置有变更通知
AbstractConfiguratorListener
-List<Configurator> configurators
+notifyOverrides()
FailoverClusterInvoker<T>
XXXCluster通过join方法生成XXXClusterInvoker
RegistryProtocol
FailoverCluster
+Invoker join(Directory)
RegistryDirectory
List<Invoker<T>> list(Invocation)
join
ServiceDiscoveryDirectory
Node
+URL getUrl()+ boolean isAvailable()+ void destroy()
MigrationRuleHandler
- MigrationClusterInvoker migrationInvoker
+ void doMigrate(MigrationRule)
MigrationRuleListener
RounterChain
+ List<Invoker> invokers+ List<Router> routers+ List<Router> builtinRouters+ List<StateRouter> stateRouters+ List<StateRouter> builtinStateRouters
ConfigurationListener
+process(ConfigChangedEvent)
AbstractClusterInvoker<T>
可以说集群相关的主要功能就体现在这个类的select方法中,首先通过route选出可用的Invoker,然后通过loadBanlance选择一个Invoker
Directory中的list操作中需要router,就是通过RouterChain
NotifyListener
+notify(List<URL>)
AbstractDirectory
-RouterChain
+List<Invoker<T>> list(Invocation)
RegistryProtocolListener
Invoker<T>
+ Result invoke(Invocation)
DynamicDirectory
MigrationInvoker
Cluster
ClusterInvoker<T>
+URL getRegistryUrl()+Directory getDirectory()
MigrationClusterInvoker<T>
DynamicConfiguration
+addListener()+removeListener()
Configuration
+获取各种数据类型的值()
Directory
ServiceInstancesChangedListener
+onEvent(ServiceInstancesChangedEvent)
通过notifyOverrides方法通知Directory刷新override配置
通知
收藏
收藏
0 条评论
下一页