服务引用创建Invoker时,RegistryProtocol中refer()方法调用的doRefer()方法通过ClusterInvoker将多个可以直接执行的Invoker放入Directory,实现了对外统一的一个Invoker(集群路由)
Cluster用于生成ClusterInvoker
流程:
- merge:Cluster将多个Invoker统一为一个Invoker
- list:得到可用的Invoker列表:list()
- route:根据路由规则决定消费者的调用目标:toRouters()->setRouters()
- select:负载均衡选择Invoker:select()
- invoke
一、Cluster容错机制
二、Directory
三、Router
四、LoadBalance