dubbo學習筆記

dubbo架構分四部分:

1、registry:註冊中心;
2、provider:提供者,啓動時會將接口註冊到註冊中心;
3、consumer:消費者,啓動訂閱provider、configurators、routers;
4、monitor:監控中心;

dubbo啓動步驟:

1、provider啓動後會註冊所有接口到registry,同時訂閱configurators動態配置;
2、consumer啓動後會訂閱provider、configurators、routers;
3、訂閱內容變更時registry會通知consumer變更;
4、consumer與provider建立長連接進行通訊;
5、consumer、provider通過異步線程定時發送統計數據到montior監控中心;

dubbo SPI核心方法:

ExtensionLoader.getExtension(String name) //獲取接口的實現類;
<T> ExtensionLoader<T> getExtensionLoader(Class<T> type) //獲取一個extensionLoader實現類然後緩存起來;
T getAdaptiveExtension()//獲取一個擴展的裝飾類,如果沒有@Adaptive註解就動態創建一個裝飾類

每一個ExtensionLoader都包含type和objectFactory兩個值

Class<?> type; //構造器初始化,要得到的接口名稱
ExtensionLoader objectFactory; //AdaptiveExtensionFactory實例,ExtensionFactory接口的實現類;

objectFactory是dubbo提供IOC注入的所有對象管理

AdaptiveExtensionFactory是ExtensionFactory接口的實現類,其值有一個

private final List<ExtensionFactory> factories   //用於裝載SpiExtensionFactory、SpringExtensionFactory
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章