拓展:
服務引用主流程詳解:
1:啟動(講解融合spring,基於xml配置的啟動),解析配置,校驗。
1.1啟動是spring解析xml時,遇到duubo相關的標簽時,使用dubbo標簽解析處理體系進行解析後生成對應的BeanDefination,隨後交由spring容器實例化。
涉及到文件和類如下:
spring.schemas//dubbo包的META-INFO目錄下
spring.handles//dubbo包的META-INFO目錄下
dubbo.xsd//dubbo包的META-INFO目錄下
DubboNamespaceHandler.java
DubboBeanDefinitionParser.java
2.2ReferenceBean.getObject()進行實例化(spring的FactoryBean)。
2:根據配置構建註冊中心地址URL。
2.1:構建註冊中心URL。
eg:registry://zk-ip:2181/com.alibaba.dubbo.registry.RegistryService?application=demo-consumer-2.6&dubbo=2.0.2&pid=8480&qos.port=33333_istry=zookeeper×tamp=1611032783453
2.2:註冊中心融合接口信息和監控中心信息的URL
eg:registry://zk-ip:2181/com.alibaba.dubbo.registry.RegistryService?application=demo-consumer-2.6&dubbo=2.0.2&pid=8612&qos.port=33333&refer=application=demo-consumer-2.6&check=false&dubbo=2.0.2&interface=com.alibaba.dubbo.demo.DemoService&methods=sayHello&pid=8612&qos.port=33333_ister.ip=172.25.229.6&side=consumer×tamp=1611033392198_istry=zookeeper×tamp=1611033397239
3:根據URL創建註冊中心長連接,consumer和provider的長連接以及具有集群容錯,目錄查找,路由功能的Invoker。