dubbo配置項簡介及配置載入順序
阿新 • • 發佈:2019-02-05
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均可以預設配置。