Dubbo服務註冊原始碼分析

2022-06-07 03:18:09 字數 1336 閱讀 3737

服務在本地發布完成,那麼接下去要進入服務的註冊階段:

final registry registry = getregistry(origininvoker);

final url registeredproviderurl = geturltoregistry(providerurl, registryurl);

// decide if we need to delay publish

boolean register = providerurl.getparameter(register_key, true);

if (register)

其中 getregistry 主要是獲取到乙個註冊器的實現,**如下

protected registry getregistry(final invoker> origininvoker)
private void register(url registryurl, url registeredproviderurl)
這裡跟上面一樣的邏輯,然後一定要走 zookeeperregistry#register ,但是本類中也未實現 ,走父類 failbackregistry#register

public void register(url url) 

// 呼叫父類註冊,快取新增

super.register(url);

removefailedregistered(url);

removefailedunregistered(url);

try catch (exception e)

throw new illegalstateexception("failed to register " + url + " to registry " + geturl().getaddress() + ", cause: " + t.getmessage(), t);

} else

// record a failed registration request to a failed list, retry regularly

// 失敗重試

Dubbo原始碼閱讀 三 Dubbo 服務註冊

通過註解來註冊dubbo服務的時候,在服務端和消費端都需要用到乙個元件dubbocomponentscanregistrar,先看下registerbeandefinitions 方法 public void registerbeandefinitions annotationmetadata im...

Dubbo原始碼剖析三之服務註冊過程分析

dubbo原始碼剖析二之註冊中心 池塘裡洗澡的鴨子 cnblogs.com 中對註冊中心進行了簡單的介紹,對dubbo整合zookeeper鏈結原始碼進行了詳細分析。本文接著對服務註冊過程原始碼進行分析。借圖說明服務註冊 暴露 流程 利用之前案例跟蹤除錯分析上述流程的實現,或者驗證該流程 2 然後通...

Dubbo原始碼分析

dubbo原始碼分析 其實已經有很多比較好的原始碼分析部落格,結合部落格和開發經驗再去分析原始碼,就能對dubbo的實現有個整體全面的理解,也能深入去深究其中的具體實現細節。dubbo裡主要用到的spi service provider inte ce netty nio 同步非阻塞多路復用框架,d...