09 dubbo服務發布原理

2022-04-19 18:48:11 字數 1344 閱讀 5213

【 啟動服務的日誌分析 】

1.暴露本地服務

export dubbo service com.alibaba.dubbo.demo.demoservice to local registry, dubbo version: 2.0.0, current host: 127.0.0.1
2.暴露遠端服務

export dubbo service com.alibaba.dubbo.demo.demoservice to url dubbo://

register dubbo service com.alibaba.dubbo.demo.demoservice url dubbo://

//

3.啟動netty

start nettyserver bind /0.0.0.0:20880, export /192.168.100.38:20880, dubbo version: 2.0.0, current host: 127.0.0.1
4.開啟zk連線

info zookeeper.clientcnxn: opening socket connection to server /192.168.48.117:2181
5.將服務資訊註冊到zk

register: dubbo://
6.監聽zk

subscribe: provider://

notify urls for subscribe url provider://

//

【 暴露本地服務和暴露遠端服務的區別 】

1.暴露本地服務

指暴露在用乙個jvm裡面,不用通過呼叫zk進行遠端通訊,例如:在同乙個服務,自己呼叫自己的介面,沒必要進行網路ip連線來通訊。

2.暴露遠端服務

指暴露給遠端客戶端的ip和埠號,通過網路來實現通訊。

【原始碼涉及的一些**】 

[ 1.proxyfactory ]

就是為了獲取乙個介面的**類,例如遠端獲取乙個遠端介面的**。

它有兩個方法,代表兩個作用:

[ 3.invoker ]

invoker是乙個可執行的物件,能夠根據方法的名稱、引數得到對應的執行結果。

它裡面有乙個重要方法result invoke(invocation invocation)

invocation是包含了需要執行的方法和方法引數等重要資訊,目前它有2個重要的實現類rpcinvocation、mockinvocation。

有三種型別的invoker:

1.本地執行類的invoker

2.遠端通訊的invoker

3.多個遠端通訊執行類的invoker聚合成集群版的invoker

Dubbo 服務發布 原理解析

暴露本地服務和暴露遠端服務的區別是什麼?1.暴露本地服務 指暴露在用乙個jvm裡面,不用通過呼叫zk來進行遠端通訊。例如 在同乙個服務,自己呼叫自己的介面,就沒必要進行網路ip連線來通訊。2.暴露遠端服務 指暴露給遠端客戶端的ip和埠號,通過網路來實現通訊。zk持久化節點 和臨時節點有什麼區別?持久...

dubbo系列 服務發布原理(易懂版)

本文採用最簡單的方式來說明dubbo服務的發布原理 因為dubbo推薦使用zookeeper為註冊中心,所以下面註冊中心使用的是zk 第乙個發布的動作 暴露本地服務 export dubbo service com.alibaba.dubbo.demo.demoservice to local re...

dubbo 服務發布及註冊流程

dubbo 服務發布原始碼分析 export 進行服務發布 首先會獲得註冊中心集合列表以及協議集合列表,遍歷協議中心列表進行多協議發布服務 服務發布時,會根據配置檔案的引數資訊封裝成map物件,最後將map物件轉換成url位址的引數 根據url位址的協議頭 registry 會在 protocol....