1、解析bean为ReferenceBean,继承了FactoryBean,实际获取bean时调用getObject,最终返回ref

2、调用getObject 时,ref为空进行init,创建ref createProxy

3、调用protocol refer方法生成Invoker ,包含以下行为(DubboProtocol)
1)、ZookeeperRegistry注册消费者节点(注册中心为zk时)
2)、订阅subscribe提供者节点,zk时添加listener

3)、getClients 建立netty连接

3)、生成DubboInvoker,层层包裹
4)、ProxyFactory getProxy 返回对象InvokerInvocationHandler,赋值到ref
4、各种invoker策略,FailoverClusterInvoker/FailfastClusterInvoker等,fiter层层最后调用DubboInvoker doInvoke 方法

网友评论