dubbo超時優先級設置


調用超時配置的優先級

可以在多個配置項設置超時,由上至下覆蓋即上面的優先),示例如下:

# 其它的參數(retries、loadbalance、actives等)的覆蓋策略也一樣。

提供者端特定方法的配置

<dubbo:service interface="com.alibaba.xxx.XxxService" >
    <dubbo:method name="findPerson" timeout="1000" />
</dubbo:service>

提供者端特定接口的配置

<dubbo:service interface="com.alibaba.xxx.XxxService" timeout="200" />

# timeout可以在多處設置,配置項及覆蓋規則詳見: Dubbo配置參考手冊

全局配置項值,對應dubbo.properties中的Key名dubbo.service.invoke.timeout

 

 

Configuration Relation:

  • <dubbo:service/> 服務配置,用於暴露一個服務,定義服務的元信息,一個服務可以用多個協議暴露,一個服務也可以注冊到多個注冊中心。
  • <dubbo:reference/> 引用配置,用於創建一個遠程服務代理,一個引用可以指向多個注冊中心。
  • <dubbo:protocol/> 協議配置,用於配置提供服務的協議信息,協議由提供方指定,消費方被動接受。
  • <dubbo:application/> 應用配置,用於配置當前應用信息,不管該應用是提供者還是消費者。
  • <dubbo:module/> 模塊配置,用於配置當前模塊信息,可選。
  • <dubbo:registry/> 注冊中心配置,用於配置連接注冊中心相關信息。
  • <dubbo:monitor/> 監控中心配置,用於配置連接監控中心相關信息,可選。
  • <dubbo:provider/> 提供方的缺省值,當ProtocolConfig和ServiceConfig某屬性沒有配置時,采用此缺省值,可選。
  • <dubbo:consumer/> 消費方缺省配置,當ReferenceConfig某屬性沒有配置時,采用此缺省值,可選。
  • <dubbo:method/> 方法配置,用於ServiceConfig和ReferenceConfig指定方法級的配置信息。
  • <dubbo:argument/> 用於指定方法參數配置。

Configuration Override:

  • 上圖中以timeout為例,顯示了配置的查找順序,其它retries, loadbalance, actives等類似。
    • 方法級優先,接口級次之,全局配置再次之。
    • 如果級別一樣,則消費方優先,提供方次之。
  • 其中,服務提供方配置,通過URL經由注冊中心傳遞給消費方。
  • 建議由服務提供方設置超時,因為一個方法需要執行多長時間,服務提供方更清楚,如果一個消費方同時引用多個服務,就不需要關心每個服務的超時設置。
  • 理論上ReferenceConfig的非服務標識配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM