
provider:
1,spring在遇到dubbo的命名空间时,就会回调DubboNamespaceHandler;2,用DubboBeanDefinitionPaser来解析bean
3,在ServiceConfig拿到提供服务的实际类的ref,通过ProxyFactory的getInvoker方法生成一个AbstractProxyInvoker对象,
4,通过serviceConfig将invoker对象解析为url(registry://..........?export=URL.encode("dubbo://..."))
5,将url传给Protocol扩展点,基于扩展点的Adaptive机制,通过协议头识别,根据RegistoryProtocol.exprot方法生成exporter(dubbo://....),暴露给注册中心;
register
1,调用registryProtocol.ref方法查询到提供者的dubbo协议的url
2,调用dubboProtocol的refer方法得到提供者的引用实例;
3.注册中心通过cluster将多个引用伪装成一个引用
consumer
1,ReferenceConfig的init方法调用protocol的ref方法生成invoker;
2,通过ProxyFactory转化invoker为响应的ref,供接口使用
Dubbo服务注册与调用流程
本文详细介绍了Spring在整合Dubbo时的服务提供者与消费者的工作流程。从配置解析到服务注册,再到服务调用的整个过程,包括DubboNamespaceHandler的回调机制、ServiceConfig的使用、AbstractProxyInvoker的生成、URL的构建与传输、Protocol扩展点的应用及Adaptive机制等关键技术点。
235

被折叠的 条评论
为什么被折叠?



