1. 程式人生 > >Dubbo服務引用原理

Dubbo服務引用原理

服務引用原理

這裡寫圖片描述
配置檔案
通過Spring容器載入
每一個標籤,對應一個解析類

Reference

對應ReferenceBean
實現了FactoryBean
這裡寫圖片描述

FactoryBean

工廠Bean
引用標籤,通過往容器中,注入Bean
使用時,從容器中,獲取Bean物件

getObject

返回標籤配置的Bean物件
這裡寫圖片描述

Get

獲取Bean物件
這裡寫圖片描述

Init

初始化
如果,是空的,初始化物件
這裡寫圖片描述

createProxy

建立代理物件
這裡寫圖片描述

refprotocol.refer

遠端引用介面
refprotocol
這裡寫圖片描述


基於Java的SPI機制
核心DubboProtocol、RegistryProtocol

首先,呼叫RegistryProtocol的refer方法
然後,呼叫DubboProtocol的refer方法
這裡寫圖片描述

RegistryProtocol

Refer方法
根據註冊中心地址,獲取註冊中心資訊
這裡寫圖片描述

doRefer

執行引用
這裡寫圖片描述

directory.subscribe

訂閱服務

DubboProtocol
Refer方法
這裡寫圖片描述

getClients

獲取客戶端
這裡寫圖片描述

getSharedClient

獲取共享的客戶端
這裡寫圖片描述

initClient

初始化客戶端
這裡寫圖片描述

Exchangers.connect

連線客戶端
這裡寫圖片描述

Connect

連線
這裡寫圖片描述

Transporters.connect

傳輸器連線
這裡寫圖片描述

Connect

到達了Netty底層
這裡寫圖片描述

Connect

建立一個Netty客戶端
URL地址,監聽埠號
這裡寫圖片描述