1. 程式人生 > >dubbo配置項簡介及配置載入順序

dubbo配置項簡介及配置載入順序

dubbo配置項

標籤 介紹 -
<dubbo:service> 服務配置,用於暴露一個服務,定義服務的元資訊,一個服務可以用多個協議暴露,一個服務也可以註冊到多個註冊中心。 -
<dubbo:reference> 引用配置,用於引用一個暴露的遠端服務,一個引用可以指向多個註冊中心 -
<dubbo:protocol> 協議配置,用於配置提供服務的協議資訊,協議由提供方指定,消費方被動接受.可以同時使用多個<dubbo:protocol>標籤定義多種支援協議(多協議配置) -
<dubbo:application> 應用配置,用於配置當前應用資訊,不管該應用是提供者還是消費者 -
<dubbo:module> 模組配置,用於配置當前模組資訊,可選 -
<dubbo:registry> 註冊中心配置,用於配置連線註冊中心相關資訊 -
<dubbo:monitor> 監控中心配置,用於配置連線監控中心相關資訊,可選 -
<dubbo:provider> 提供方的預設值,當ProtocolConfig和ServiceConfig某屬性沒有配置時,採用此預設值,可選 -
<dubbo:consumer> 消費方預設配置,當ReferenceConfig某屬性沒有配置時,採用此預設值,可選 -
<dubbo:method> 方法配置,用於ServiceConfig和ReferenceConfig指定方法級的配置資訊 -
<dubbo:argument> 用於指定方法引數設定 -

dubbo配置的載入順序

1.reference method

<dubbo:reference id="demoService" interface="cn.intf.demoService"
> <dubbo:method name="findXxx" timeout="1000"/> <dubbo:reference/>

2.service method

<dubbo:service id="demoService" interface="cn.intf.demoService">
    <dubbo:method name="findXxx" timeout="2000"/>
<dubbo:service/>

3.reference

<dubbo:reference id="demoService" interface="cn.intf.demoService" timeout="3000"/>

4.service

<dubbo:service id="demoService" interface="cn.intf.demoService" timeout="4000"/>

5.consumer

<dubbo:consumer timeout="5000"/>

6.provider

<dubbo:provider timeout="6000"/>
  • 上圖中以timeout為例,顯示了配置的查詢順序,其它retries, loadbalance, actives等類似。
    • 方法級優先,介面級次之,全域性配置再次之。
    • 強調內容*如果級別一樣,則消費方優先,提供方次之。
  • 其中,服務提供方配置,通過URL經由註冊中心傳遞給消費方。
  • 建議由服務提供方設定超時,因為一個方法需要執行多長時間,服務提供方更清楚,如果一個消費方同時引用多個服務,就不需要關心每個服務的超時設定。
  • 理論上ReferenceConfig的非服務標識配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以預設配置。