Dubbo服务发布与消费的概要流程
1. Dubbo服务提供者暴露服务的概要过程
首先ServiceConfig类引用对外提供服务的实现类,ref (如UserServiceImpl),然后通过ProxyFactory接口的扩展实现类的getInvoker()方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成了具体服务到Invoker的转化。接下来就是Invoker转换到Exporter的过程。Dubbo协议的Invoker专为Exporter发生在DubboProtocol类的export()方法中,Dubbo处理服务暴露的关键就在Invoker转换到Exporter的过程中,在这个过程中会先启动Netty Server监听服务连接,然后将服务注册到服务注册中心。
2. Dubbo服务消费者消费一个服务的概要过程
首先ReferenceConfig类的init()方法调用Protocol扩展实现类的refer()方法生成Invoker实例,这是服务消费的关键,解下来把Invoker转换为客户端需要的接口。
Dubbo协议中Invoker转换为客户端需要的接口,发生在ProxyFactory接口的拓展实现类getProxy()方法中,它主要是使用代理对服务接口的调用转换为对Invoker的调用。
评论前必须登录!
注册