Dubbo之分組 多版本 多協議 多註冊中心

2021-09-27 08:53:27 字數 1148 閱讀 7610

服務暴露的時候,是以什麼作為和其他服務區分的標識,也就是說服務的呼叫方在找服務的時候,是通過哪些因素去檢索到想要呼叫的服務的?

可以區分的標識常用的幾個:url位址,介面名稱,方法名稱,組號,版本號

服務分組

當乙個介面有多種實現時,可以用 group 區分。

服務引用

任意組 1:

多版本當乙個介面實現,出現不相容公升級時,可以用版本號過渡,版本號不同的服務相互間不引用。

可以按照以下的步驟進行版本遷移:

在低壓力時間段,先公升級一半提供者為新版本

再將所有消費者公升級為新版本

然後將剩下的一半提供者公升級為新版本

老版本服務提供者配置:

新版本服務提供者配置:

老版本服務消費者配置:

新版本服務消費者配置:

如果不需要區分版本,可以按照以下的方式配置 1:

可以自行擴充套件協議。

比如,不同服務在效能上適用不同協議進行傳輸,比如大資料用短連線協議,小資料大併發用長連線協議。

短連線是指通訊雙方有資料互動時,就建立乙個tcp連線,資料傳送完成後,則斷開此tcp連線,一般銀行都使用短連線。  

長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況,。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是先連線,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,次處理時直接傳送資料報就ok了,不用建立tcp連線。例如:資料庫的連線用長連線, 如果用短連線頻繁的通訊會造成socket錯誤,而且頻繁的socket 建立也是對資源的浪費。

name 指定的是傳輸協議的名稱:dubbo rmi hessian webservice 

注意:name填入任意值報錯

(對應常見的傳輸協議:dubbo、rmi、hessain、webservice、http)

比如:需要與http客戶端互操作。

可以自行擴充套件註冊中心。

比如:中文站有些服務來不及在青島部署,只在杭州部署,而青島的其他應用需要引用此服務,就可以將服務同時註冊到兩個註冊中心。

比如:crm需同時呼叫中文站和國際站的pc2服務,pc2在中文站和國際站均有部署,介面及版本號都一樣,但連的資料庫不一樣。

比如:crm需同時呼叫中心站和國際站的pc2服務,pc2在中文站和國際站均有部署,介面及版本號都一樣,但連的資料庫不一樣。

Dubbo之多協議 多註冊中心 多版本

dubbo之多協議 多註冊中心 多版本。多協議?可以自行擴充套件協議。不同服務不同協議 比如,不同服務在效能上適用不同協議進行傳輸,比如大資料用短連線協議,小資料大併發用長連線協議。多協議暴露服務 比如 需要與http客戶端互操作。多註冊中心 可以自行擴充套件註冊中心。多註冊中心註冊 比如 中文站有...

Dubbo 5 服務分組及多版本

服務分組 當乙個介面有多種實現時,可以用 group 區分。服務端配置 消費端配置 注 在2.2.0 以上,group屬性可以配置為 表示為任意組,總是只調乙個可用組的實現。如果服務分組了,則對應的消費者xml配置中group欄位必須存在且值不能為空。多版本當乙個介面實現,出現不相容公升級時,可以用...

Dubbo多協議支援

除了dubbo服務暴露協議dubbo協議外,dubbo框架還支援另外8種服務暴露協議 rmi協議 hessian協議 http協議 webservice協議 thrift協議 memcached協議 redis協議 rest協議。但在實際生產中,使用最多的就是dubbo服務暴露協議 小資料大併發使用...