Dubbo系列之常用配置用法簡介

2021-10-01 23:39:36 字數 3232 閱讀 3976

dubbo系列之常用配置用法簡介

配置原則,引用官方的:

介面呼叫失敗,可通過 retries屬性 來設定重試次數(注意:不含第一次)

<

dubbo:service

retries

="2"

/>

或者@server(retries=2)

<

dubbo:reference

retries

="2"

/>

或者@reference(retries=2)

<

dubbo:reference

>

<

dubbo:method

name

="testmethod"

retries

="2"

/>

dubbo:reference

>

為了避免超時導致客戶端資源(執行緒)因為介面呼叫時間過長而影響系統效能,需要配置必要的超時時間

<

dubbo:provider

timeout

="5000"

/>

指定介面或者方法的配置

<

dubbo:provider

inte***ce

="com.example.testservice"

timeout

="4000"

>

<

dubbo:method

name

="sayhello"

timeout

="4000"

/>

dubbo:provider

>

註解方式同理

<

dubbo:consumer

timeout

="5000"

/>

指定介面和方法

<

dubbo:reference

inte***ce

="com.example.testservice"

timeout

="4000"

>

<

dubbo:method

name

="sayhello"

timeout

="4000"

/>

dubbo:reference

>

超時就會丟擲異常:

從前面的分析可以看出,配置可以全域性配置,也可以分為服務提供者和消費者進行配置,不過配置是有優先順序的,按照優先順序,dubbo官方給出了如下的順序,按照優先順序從高到低分別為:

其實也就是官方歸納的:

dubbo也提供了版本號的配置,目的是為了相容舊介面,假如新開發了2.0版本的介面,而1.0介面還是有很多地方在呼叫的,或者是2.0介面還不太穩定等等情況,就可以使用版本設定,然後呼叫時候要加上版本號即可呼叫對應版本號的介面

官方的介紹是:

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

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

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

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

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

詳情參考官方文件:

1.0.0介面

<

dubbo:service

inte***ce

="com.foo.barservice"

version

="1.0.0"

/>

2.0.0介面

<

dubbo:service

inte***ce

="com.foo.barservice"

version

="2.0.0"

/>

呼叫時候同樣加上版本號即可

引用官方的本地存根解釋:

遠端服務後,客戶端通常只剩下介面,而實現全在伺服器端,但提供方有些時候想在客戶端也執行部分邏輯,比如:做 threadlocal 快取,提前驗證引數,呼叫失敗後偽造容錯資料等等,此時就需要在 api 中帶上 stub,客戶端生成 proxy 例項,會把 proxy 通過建構函式傳給 stub [1],然後把 stub 暴露給使用者,stub 可以決定要不要去調 proxy。

使用非常容易,加上stub屬性即可

<

dubbo:service

inte***ce

="com.foo.barservice"

stub

="true"

/>

官方的例項:

package com.foo;

public

class

barservicestub

implements

barservice

public string sayhello

(string name)

catch

(exception e)

}}

詳情參考官方文件:

dubbo的官方文件還是比較詳細的,本部落格僅僅列舉一小部分,內容肯定不夠詳細,具體使用請參考dubbo官方文件:

Dubbo系列之常用配置用法簡介

dubbo系列之常用配置用法簡介 配置原則,引用官方的 介面呼叫失敗,可通過 retries屬性 來設定重試次數 注意 不含第一次 或者 server retries 2 或者 reference retries 2 為了避免超時導致客戶端資源 執行緒 因為介面呼叫時間過長而影響系統效能,需要配置必...

dubbo常用配置

持續更新 開發過程中常常需要先本地除錯自己的服務再註冊到註冊中心,debug可採用直連本地的方式 應該還有更好的方法 provider.xml address zookeeper localhost 2181 name dubbo port 20880 在dubbo 20880暴露了服務,即在con...

dubbo 常用配置

多版本支援 veresion1.0 version1.0.1 可以做版本隔離,server端配置 client 端配置 zk註冊中心的服務節點 主機繫結指的是繫結,dubbo的服務註冊節點的位址 即標紅的位址 從配置檔案中獲取host netutils.isinvalidlocalhost host...