1. 程式人生 > >Dubbo配置檔案簡單說明

Dubbo配置檔案簡單說明

Dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。

Dubbo配置說明

xml配置

所有配置項可分為三大類:

  • 服務發現:該配置項用於服務的註冊與發現,目的是讓消費方找到提供方。
  • 服務治理:該配置項用於治理服務間的關係,或者為開發測試提供便利條件。
  • 效能調優:該配置項用於調優效能,不同的選項對效能會產生影響。 所有配置最終都將轉化為URL表示,並由服務提供方生成,經註冊中心傳遞給消費方,各屬性對應URL的引數,URL格式如下:protocol://username:[email protected]
    :port/path?key=value&key=value

服務提供方<dubbo:service />

  • interface dubbo服務暴露的介面全路徑,例如:<dubbo:service interface="cn.test.edu.service.ItemService" />

  • ref dubbo服務暴露介面的實現類,例如: <bean id="itemServiceImpl" class="cn.test.edu.service.impl.ItemServiceImpl" /> <dubbo:service interface="cn.test.edu.service.ItemService" ref="itemServiceImpl" />

    不過在spring框架中,採用IOC與DI,所以一般service實現類,都通過@Service註解,交由spring容器幫我們建立bean物件,預設id為類的首字母小寫。所以可以直接寫成,例如: <dubbo:service interface="cn.test.edu.service.ItemService" ref="itemServiceImpl" />

  • timeout 遠端呼叫服務超時時間,如果客戶端服務端都配置了以客戶端為準,客戶端沒有配置以服務端為準,單位毫秒預設1000

服務消費方<dubbo:reference />

  • interface 服務提供者介面全路徑,例如:
<dubbo:reference interface="cn.test.edu.service.ItemService" />
  • id 服務消費方引用Bean的id,一般為介面類的首字母小寫。

服務提供方<protocol />

  • id 協議BeanId,可以在<dubbo:service protoco="" />中引用此id,如果id不填,預設和name屬性值相同,重複則在name後加序號

  • name 協議名稱,支援常見的傳輸協議:Dubbo、RMI、Hessain、WebService、Http等

  • port dubbo協議預設埠為20880,RMI協議預設埠為1099,http和hessian協議預設埠為80,如果配置為-1 或者配置port,則會分配一個沒有被佔用的埠。Dubbo 2.4.0+,分配的埠在協議預設埠的基礎上增長,確保埠端可控

註冊中心配置<dubbo:registry />

  • id 註冊中心引用BeanId,可以在<dubbo:service registry="" /><dubbo:reference registy="" />中引用此id ,1.0.16以上版本

  • protocol 註冊中心地址協議,支援dubbo,http,local三種協議,分別表示,dubbo地址,http地址,本地註冊中心

  • address 註冊中心伺服器地址,如果地址沒有埠預設值為9090,同一叢集內的多個地址用逗號分隔,如:ip:port,ip:port 不同叢集的註冊中心,請配置多個

應用配置<dubbo:application />

  • name 必填項,當前應用名稱,用於註冊中心計算應用間依賴關係,注意:消費者和提供者應用名不要一樣,此引數不是匹配條件