dubbo配置及其屬性參考檔案,配置參考手冊
- 配置參考手冊
- <dubbo:service/>
- <dubbo:reference/>
- <dubbo:protocol/>
- <dubbo:registry/>
- <dubbo:monitor/>
- <dubbo:application/>
- <dubbo:module/>
- <dubbo:provider/>
- <dubbo:consumer/>
- <dubbo:method/>
- <dubbo:argument/>
- <dubbo:parameter/>
配置參考手冊
這裡以Xml配置為準,列舉所有配置項,其它配置方式,請參見相應轉換關係:屬性配置,註解配置,API配置
注意:只有group,interface,version是服務的匹配條件,三者決定是不是同一個服務,其它配置項均為調優和治理引數。
所有配置項分為三大類,參見下表中的"作用"一列。
- 服務發現:表示該配置項用於服務的註冊與發現,目的是讓消費方找到提供方。
- 服務治理:表示該配置項用於治理服務間的關係,或為開發測試提供便利條件。
- 效能調優:表示該配置項用於調優效能,不同的選項對效能會產生影響。
所有配置最終都將轉換為URL表示,並由服務提供方生成,經註冊中心傳遞給消費方,各屬性對應URL的引數,參見配置項一覽表中的"對應URL引數"列。
<dubbo:service/>
服務提供者暴露服務配置:
配置類:com.alibaba.dubbo.config.ServiceConfig
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:service> | interface | class | 必填 | 服務發現 | 服務介面名 | 1.0.0以上版本 | ||
<dubbo:service> | ref | object | 必填 | 服務發現 | 服務物件實現引用 | 1.0.0以上版本 | ||
<dubbo:service> | version | version | string | 可選 | 0.0.0 | 服務發現 | 服務版本,建議使用兩位數字版本,如:1.0,通常在介面不相容時版本號才需要升級 | 1.0.0以上版本 |
<dubbo:service> | group | group | string | 可選 | 服務發現 | 服務分組,當一個介面有多個實現,可以用分組區分 | 1.0.7以上版本 | |
<dubbo:service> | path | <path> | string | 可選 | 預設為介面名 | 服務發現 | 服務路徑 (注意:1.0不支援自定義路徑,總是使用介面名,如果有1.0調2.0,配置服務路徑可能不相容) | 1.0.12以上版本 |
<dubbo:service> | delay | delay | int | 可選 | 0 | 效能調優 | 延遲註冊服務時間(毫秒) ,設為-1時,表示延遲到Spring容器初始化完成時暴露服務 | 1.0.14以上版本 |
<dubbo:service> | timeout | timeout | int | 可選 | 1000 | 效能調優 | 遠端服務呼叫超時時間(毫秒) | 2.0.0以上版本 |
<dubbo:service> | retries | retries | int | 可選 | 2 | 效能調優 | 遠端服務呼叫重試次數,不包括第一次呼叫,不需要重試請設為0 | 2.0.0以上版本 |
<dubbo:service> | connections | connections | int | 可選 | 100 | 效能調優 | 對每個提供者的最大連線數,rmi、http、hessian等短連線協議表示限制連線數,dubbo等長連線協表示建立的長連線個數 | 2.0.0以上版本 |
<dubbo:service> | loadbalance | loadbalance | string | 可選 | random | 效能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍呼叫 | 2.0.0以上版本 |
<dubbo:service> | async | async | boolean | 可選 | false | 效能調優 | 是否預設非同步執行,不可靠非同步,只是忽略返回值,不阻塞執行執行緒 | 2.0.0以上版本 |
<dubbo:service> | stub | stub | class/boolean | 可選 | false | 服務治理 | 設為true,表示使用預設代理類名,即:介面名 + Local字尾,服務介面客戶端本地代理類名,用於在客戶端執行本地邏輯,如本地快取等,該本地代理類的建構函式必須允許傳入遠端代理物件,建構函式如:public XxxServiceLocal(XxxService xxxService) | 2.0.0以上版本 |
<dubbo:service> | mock | mock | class/boolean | 可選 | false | 服務治理 | 設為true,表示使用預設Mock類名,即:介面名 + Mock字尾,服務介面呼叫失敗Mock實現類,該Mock類必須有一個無參建構函式,與Local的區別在於,Local總是被執行,而Mock只在出現非業務異常(比如超時,網路異常等)時執行,Local在遠端呼叫之前執行,Mock在遠端呼叫後執行。 | 2.0.0以上版本 |
<dubbo:service> | token | token | string/boolean | 可選 | false | 服務治理 | 令牌驗證,為空表示不開啟,如果為true,表示隨機生成動態令牌,否則使用靜態令牌,令牌的作用是防止消費者繞過註冊中心直接訪問,保證註冊中心的授權功能有效,如果使用點對點呼叫,需關閉令牌功能 | 2.0.0以上版本 |
<dubbo:service> | registry | string | 可選 | 預設向所有registry註冊 | 配置關聯 | 向指定註冊中心註冊,在多個註冊中心時使用,值為<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設為N/A | 2.0.0以上版本 | |
<dubbo:service> | provider | string | 可選 | 缺使用第一個provider配置 | 配置關聯 | 指定provider,值為<dubbo:provider>的id屬性 | 2.0.0以上版本 | |
<dubbo:service> | deprecated | deprecated | boolean | 可選 | false | 服務治理 | 服務是否過時,如果設為true,消費方引用時將列印服務過時警告error日誌 | 2.0.5以上版本 |
<dubbo:service> | dynamic | dynamic | boolean | 可選 | true | 服務治理 | 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 | 2.0.5以上版本 |
<dubbo:service> | accesslog | accesslog | string/boolean | 可選 | false | 服務治理 | 設為true,將向logger中輸出訪問日誌,也可填寫訪問日誌檔案路徑,直接把訪問日誌輸出到指定檔案 | 2.0.5以上版本 |
<dubbo:service> | owner | owner | string | 可選 | 服務治理 | 服務負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.0.5以上版本 | |
<dubbo:service> | document | document | string | 可選 | 服務治理 | 服務文件URL | 2.0.5以上版本 | |
<dubbo:service> | weight | weight | int | 可選 | 效能調優 | 服務權重 | 2.0.5以上版本 | |
<dubbo:service> | executes | executes | int | 可選 | 0 | 效能調優 | 服務提供者每服務每方法最大可並行執行請求數 | 2.0.5以上版本 |
<dubbo:service> | actives | actives | int | 可選 | 0 | 效能調優 | 每服務消費者每服務每方法最大併發呼叫數 | 2.0.5以上版本 |
<dubbo:service> | proxy | proxy | string | 可選 | javassist | 效能調優 | 生成動態代理方式,可選:jdk/javassist | 2.0.5以上版本 |
<dubbo:service> | cluster | cluster | string | 可選 | failover | 效能調優 | 叢集方式,可選:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 |
<dubbo:service> | filter | service.filter | string | 可選 | default | 效能調優 | 服務提供方遠端呼叫過程攔截器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 |
<dubbo:service> | listener | exporter.listener | string | 可選 | default | 效能調優 | 服務提供方匯出服務監聽器名稱,多個名稱用逗號分隔 | |
<dubbo:service> | protocol | string | 可選 | 配置關聯 | 使用指定的協議暴露服務,在多協議時使用,值為<dubbo:protocol>的id屬性,多個協議ID用逗號分隔 | 2.0.5以上版本 | ||
<dubbo:service> | layer | layer | string | 可選 | 服務治理 | 服務提供者所在的分層。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | |
<dubbo:service> | register | register | boolean | 可選 | true | 服務治理 | 該協議的服務是否註冊到註冊中心 | 2.0.8以上版本 |
<dubbo:reference/>
服務消費者引用服務配置:
配置類:com.alibaba.dubbo.config.ReferenceConfig
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:reference> | id | string | 必填 | 配置關聯 | 服務引用BeanId | 1.0.0以上版本 | ||
<dubbo:reference> | interface | class | 必填 | 服務發現 | 服務介面名 | 1.0.0以上版本 | ||
<dubbo:reference> | version | version | string | 可選 | 服務發現 | 服務版本,與服務提供者的版本一致 | 1.0.0以上版本 | |
<dubbo:reference> | group | group | string | 可選 | 服務發現 | 服務分組,當一個介面有多個實現,可以用分組區分,必需和服務提供方一致 | 1.0.7以上版本 | |
<dubbo:reference> | timeout | timeout | long | 可選 | 預設使用<dubbo:consumer>的timeout | 效能調優 | 服務方法呼叫超時時間(毫秒) | 1.0.5以上版本 |
<dubbo:reference> | retries | retries | int | 可選 | 預設使用<dubbo:consumer>的retries | 效能調優 | 遠端服務呼叫重試次數,不包括第一次呼叫,不需要重試請設為0 | 2.0.0以上版本 |
<dubbo:reference> | connections | connections | int | 可選 | 預設使用<dubbo:consumer>的connections | 效能調優 | 對每個提供者的最大連線數,rmi、http、hessian等短連線協議表示限制連線數,dubbo等長連線協表示建立的長連線個數 | 2.0.0以上版本 |
<dubbo:reference> | loadbalance | loadbalance | string | 可選 | 預設使用<dubbo:consumer>的loadbalance | 效能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍呼叫 | 2.0.0以上版本 |
<dubbo:reference> | async | async | boolean | 可選 | 預設使用<dubbo:consumer>的async | 效能調優 | 是否非同步執行,不可靠非同步,只是忽略返回值,不阻塞執行執行緒 | 2.0.0以上版本 |
<dubbo:reference> | generic | generic | boolean | 可選 | 預設使用<dubbo:consumer>的generic | 服務治理 | 是否預設泛化介面,如果為泛化介面,將返回GenericService | 2.0.0以上版本 |
<dubbo:reference> | check | check | boolean | 可選 | 預設使用<dubbo:consumer>的check | 服務治理 | 啟動時檢查提供者是否存在,true報錯,false忽略 | 2.0.0以上版本 |
<dubbo:reference> | url | <url> | string | 可選 | 服務治理 | 點對點直連服務提供者地址,將繞過註冊中心 | 1.0.6以上版本 | |
<dubbo:reference> | stub | stub | class/boolean | 可選 | 服務治理 | 服務介面客戶端本地代理類名,用於在客戶端執行本地邏輯,如本地快取等,該本地代理類的建構函式必須允許傳入遠端代理物件,建構函式如:public XxxServiceLocal(XxxService xxxService) | 2.0.0以上版本 | |
<dubbo:reference> | mock | mock | class/boolean | 可選 | 服務治理 | 服務介面呼叫失敗Mock實現類名,該Mock類必須有一個無參建構函式,與Local的區別在於,Local總是被執行,而Mock只在出現非業務異常(比如超時,網路異常等)時執行,Local在遠端呼叫之前執行,Mock在遠端呼叫後執行。 | Dubbo1.0.13及其以上版本支援 | |
<dubbo:reference> | cache | cache | string/boolean | 可選 | 服務治理 | 以呼叫引數為key,快取返回結果,可選:lru, threadlocal, jcache等 | Dubbo2.1.0及其以上版本支援 | |
<dubbo:reference> | validation | validation | boolean | 可選 | 服務治理 | 是否啟用JSR303標準註解驗證,如果啟用,將對方法引數上的註解進行校驗 | Dubbo2.1.0及其以上版本支援 | |
<dubbo:reference> | proxy | proxy | boolean | 可選 | javassist | 效能調優 | 選擇動態代理實現策略,可選:javassist, jdk | 2.0.2以上版本 |
<dubbo:reference> | client | client | string | 可選 | 效能調優 | 客戶端傳輸型別設定,如Dubbo協議的netty或mina。 | Dubbo2.0.0以上版本支援 | |
<dubbo:reference> | registry | string | 可選 | 預設將從所有註冊中心獲服務列表後合併結果 | 配置關聯 | 從指定註冊中心註冊獲取服務列表,在多個註冊中心時使用,值為<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔 | 2.0.0以上版本 | |
<dubbo:reference> | owner | owner | string | 可選 | 服務治理 | 呼叫服務負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.0.5以上版本 | |
<dubbo:reference> | actives | actives | int | 可選 | 0 | 效能調優 | 每服務消費者每服務每方法最大併發呼叫數 | 2.0.5以上版本 |
<dubbo:reference> | cluster | cluster | string | 可選 | failover | 效能調優 | 叢集方式,可選:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 |
<dubbo:reference> | filter | reference.filter | string | 可選 | default | 效能調優 | 服務消費方遠端呼叫過程攔截器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 |
<dubbo:reference> | listener | invoker.listener | string | 可選 | default | 效能調優 | 服務消費方引用服務監聽器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 |
<dubbo:reference> | layer | layer | string | 可選 | 服務治理 | 服務呼叫者所在的分層。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | |
<dubbo:reference> | init | init | boolean | 可選 | false | 效能調優 | 是否在afterPropertiesSet()時飢餓初始化引用,否則等到有人注入或引用該例項時再初始化。 | 2.0.10以上版本 |
<dubbo:reference> | protocol | protocol | string | 可選 | 服力治理 | 只調用指定協議的服務提供方,其它協議忽略。 | 2.2.0以上版本 |
<dubbo:protocol/>
服務提供者協議配置:
配置類:com.alibaba.dubbo.config.ProtocolConfig
說明:如果需要支援多協議,可以宣告多個<dubbo:protocol>標籤,並在<dubbo:service>中通過protocol屬性指定使用的協議。
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:protocol> | id | string | 可選 | dubbo | 配置關聯 | 協議BeanId,可以在<dubbo:service protocol="">中引用此ID,如果ID不填,預設和name屬性值一樣,重複則在name後加序號。 | 2.0.5以上版本 | |
<dubbo:protocol> | name | <protocol> | string | 必填 | dubbo | 效能調優 | 協議名稱 | 2.0.5以上版本 |
<dubbo:protocol> | port | <port> | int | 可選 | dubbo協議預設埠為20880,rmi協議預設埠為1099,http和hessian協議預設埠為80 如果配置為-1 或者 沒有配置port,則會分配一個沒有被佔用的埠。Dubbo 2.4.0+,分配的埠在協議預設埠的基礎上增長,確保埠段可控。 |
服務發現 | 服務埠 | 2.0.5以上版本 |
<dubbo:protocol> | host | <host> | string | 可選 | 自動查詢本機IP | 服務發現 | -服務主機名,多網絡卡選擇或指定VIP及域名時使用,為空則自動查詢本機IP,-建議不要配置,讓Dubbo自動獲取本機IP | 2.0.5以上版本 |
<dubbo:protocol> | threadpool | threadpool | string | 可選 | fixed | 效能調優 | 執行緒池型別,可選:fixed/cached | 2.0.5以上版本 |
<dubbo:protocol> | threads | threads | int | 可選 | 100 | 效能調優 | 服務執行緒池大小(固定大小) | 2.0.5以上版本 |
<dubbo:protocol> | iothreads | threads | int | 可選 | cpu個數+1 | 效能調優 | io執行緒池大小(固定大小) | 2.0.5以上版本 |
<dubbo:protocol> | accepts | accepts | int | 可選 | 0 | 效能調優 | 服務提供方最大可接受連線數 | 2.0.5以上版本 |
<dubbo:protocol> | payload | payload | int | 可選 | 88388608(=8M) | 效能調優 | 請求及響應資料包大小限制,單位:位元組 | 2.0.5以上版本 |
<dubbo:protocol> | codec | codec | string | 可選 | dubbo | 效能調優 | 協議編碼方式 | 2.0.5以上版本 |
<dubbo:protocol> | serialization | serialization | string | 可選 | dubbo協議預設為hessian2,rmi協議預設為java,http協議預設為json | 效能調優 | 協議序列化方式,當協議支援多種序列化方式時使用,比如:dubbo協議的dubbo,hessian2,java,compactedjava,以及http協議的json等 | 2.0.5以上版本 |
<dubbo:protocol> | accesslog | accesslog | string/boolean | 可選 | 服務治理 | 設為true,將向logger中輸出訪問日誌,也可填寫訪問日誌檔案路徑,直接把訪問日誌輸出到指定檔案 | 2.0.5以上版本 | |
<dubbo:protocol> | path | <path> | string | 可選 | 服務發現 | 提供者上下文路徑,為服務path的字首 | 2.0.5以上版本 | |
<dubbo:protocol> | transporter | transporter | string | 可選 | dubbo協議預設為netty | 效能調優 | 協議的服務端和客戶端實現型別,比如:dubbo協議的mina,netty等,可以分拆為server和client配置 | 2.0.5以上版本 |
<dubbo:protocol> | server | server | string | 可選 | dubbo協議預設為netty,http協議預設為servlet | 效能調優 | 協議的伺服器端實現型別,比如:dubbo協議的mina,netty等,http協議的jetty,servlet等 | 2.0.5以上版本 |
<dubbo:protocol> | client | client | string | 可選 | dubbo協議預設為netty | 效能調優 | 協議的客戶端實現型別,比如:dubbo協議的mina,netty等 | 2.0.5以上版本 |
<dubbo:protocol> | dispatcher | dispatcher | string | 可選 | dubbo協議預設為all | 效能調優 | 協議的訊息派發方式,用於指定執行緒模型,比如:dubbo協議的all, direct, message, execution, connection等 | 2.1.0以上版本 |
<dubbo:protocol> | queues | queues | int | 可選 | 0 | 效能調優 | 執行緒池佇列大小,當執行緒池滿時,排隊等待執行的佇列大小,建議不要設定,當執行緒程池時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 | 2.0.5以上版本 |
<dubbo:protocol> | charset | charset | string | 可選 | UTF-8 | 效能調優 | 序列化編碼 | 2.0.5以上版本 |
<dubbo:protocol> | buffer | buffer | int | 可選 | 8192 | 效能調優 | 網路讀寫緩衝區大小 | 2.0.5以上版本 |
<dubbo:protocol> | heartbeat | heartbeat | int | 可選 | 0 | 效能調優 | 心跳間隔,對於長連線,當物理層斷開時,比如拔網線,TCP的FIN訊息來不及傳送,對方收不到斷開事件,此時需要心跳來幫助檢查連線是否已斷開 | 2.0.10以上版本 |
<dubbo:protocol> | telnet | telnet | string | 可選 | 服務治理 | 所支援的telnet命令,多個命令用逗號分隔 | 2.0.5以上版本 | |
<dubbo:protocol> | register | register | boolean | 可選 | true | 服務治理 | 該協議的服務是否註冊到註冊中心 | 2.0.8以上版本 |
<dubbo:protocol> | contextpath | contextpath | String | 可選 | 預設為空串 | 服務治理 | 2.0.6以上版本 |
<dubbo:registry/>
註冊中心配置:
配置類:com.alibaba.dubbo.config.RegistryConfig
說明:如果有多個不同的註冊中心,可以宣告多個<dubbo:registry>標籤,並在<dubbo:service>或<dubbo:reference>的registry屬性指定使用的註冊中心。
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:registry> | id | string | 可選 | 配置關聯 | 註冊中心引用BeanId,可以在<dubbo:service registry="">或<dubbo:reference registry="">中引用此ID | 1.0.16以上版本 | ||
<dubbo:registry> | address | <host:port> | string | 必填 | 服務發現 | 註冊中心伺服器地址,如果地址沒有埠預設為9090,同一叢集內的多個地址用逗號分隔,如:ip:port,ip:port,不同叢集的註冊中心,請配置多個<dubbo:registry>標籤 | 1.0.16以上版本 | |
<dubbo:registry> | protocol | <protocol> | string | 可選 | dubbo | 服務發現 | 注同中心地址協議,支援dubbo, http, local三種協議,分別表示,dubbo地址,http地址,本地註冊中心 | 2.0.0以上版本 |
<dubbo:registry> | port | <port> | int | 可選 | 9090 | 服務發現 | 註冊中心預設埠,當address沒有帶埠時使用此埠做為預設值 | 2.0.0以上版本 |
<dubbo:registry> | username | <username> | string | 可選 | 服務治理 | 登入註冊中心使用者名稱,如果註冊中心不需要驗證可不填 | 2.0.0以上版本 | |
<dubbo:registry> | password | <password> | string | 可選 | 服務治理 | 登入註冊中心密碼,如果註冊中心不需要驗證可不填 | 2.0.0以上版本 | |
<dubbo:registry> | transport | registry.transporter | string | 可選 | netty | 效能調優 | 網路傳輸方式,可選mina,netty | 2.0.0以上版本 |
<dubbo:registry> | timeout | registry.timeout | int | 可選 | 5000 | 效能調優 | 註冊中心請求超時時間(毫秒) | 2.0.0以上版本 |
<dubbo:registry> | session | registry.session | int | 可選 | 60000 | 效能調優 | 註冊中心會話超時時間(毫秒),用於檢測提供者非正常斷線後的髒資料,比如用心跳檢測的實現,此時間就是心跳間隔,不同註冊中心實現不一樣。 | 2.1.0以上版本 |
<dubbo:registry> | file | registry.file | string | 可選 | 服務治理 | 使用檔案快取註冊中心地址列表及服務提供者列表,應用重啟時將基於此檔案恢復,注意:兩個註冊中心不能使用同一檔案儲存 | 2.0.0以上版本 | |
<dubbo:registry> | wait | registry.wait | int | 可選 | 0 | 效能調優 | 停止時等待通知完成時間(毫秒) | 2.0.0以上版本 |
<dubbo:registry> | check | check | boolean | 可選 | true | 服務治理 | 註冊中心不存在時,是否報錯 | 2.0.0以上版本 |
<dubbo:registry> | register | register | boolean | 可選 | true | 服務治理 | 是否向此註冊中心註冊服務,如果設為false,將只訂閱,不註冊 | 2.0.5以上版本 |
<dubbo:registry> | subscribe | subscribe | boolean | 可選 | true | 服務治理 | 是否向此註冊中心訂閱服務,如果設為false,將只註冊,不訂閱 | 2.0.5以上版本 |
<dubbo:registry> | dynamic | dynamic | boolean | 可選 | true | 服務治理 | 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 | 2.0.5以上版本 |
<dubbo:monitor/>
監控中心配置:
配置類:com.alibaba.dubbo.config.MonitorConfig
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:monitor> | protocol | protocol | string | 可選 | dubbo | 服務治理 | 監控中心協議,如果為protocol="registry",表示從註冊中心發現監控中心地址,否則直連監控中心。 | 2.0.9以上版本 |
<dubbo:monitor> | address | <url> | string | 可選 | N/A | 服務治理 | 直連監控中心伺服器地址,address="10.20.130.230:12080" | 1.0.16以上版本 |
<dubbo:application/>
應用資訊配置:
配置類:com.alibaba.dubbo.config.ApplicationConfig
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:application> | name | application | string | 必填 | 服務治理 | 當前應用名稱,用於註冊中心計算應用間依賴關係,注意:消費者和提供者應用名不要一樣,此引數不是匹配條件,你當前專案叫什麼名字就填什麼,和提供者消費者角色無關,比如:kylin應用呼叫了morgan應用的服務,則kylin專案配成kylin,morgan專案配成morgan,可能kylin也提供其它服務給別人使用,但kylin專案永遠配成kylin,這樣註冊中心將顯示kylin依賴於morgan | 1.0.16以上版本 | |
<dubbo:application> | version | application.version | string | 可選 | 服務治理 | 當前應用的版本 | 2.2.0以上版本 | |
<dubbo:application> | owner | owner | string | 可選 | 服務治理 | 應用負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.0.5以上版本 | |
<dubbo:application> | organization | organization | string | 可選 | 服務治理 | 組織名稱(BU或部門),用於註冊中心區分服務來源,此配置項建議不要使用autoconfig,直接寫死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等 | 2.0.0以上版本 | |
<dubbo:application> | architecture | architecture | string | 可選 | 服務治理 | 用於服務分層對應的架構。如,intl、china。不同的架構使用不同的分層。 | 2.0.7以上版本 | |
<dubbo:application> | environment | environment | string | 可選 | 服務治理 | 應用環境,如:develop/test/product,不同環境使用不同的預設值,以及作為只用於開發測試功能的限制條件 | 2.0.0以上版本 | |
<dubbo:application> | compiler | compiler | string | 可選 | javassist | 效能優化 | Java位元組碼編譯器,用於動態類的生成,可選:jdk或javassist | 2.1.0以上版本 |
<dubbo:application> | logger | logger | string | 可選 | slf4j | 效能優化 | 日誌輸出方式,可選:slf4j,jcl,log4j,jdk | 2.2.0以上版本 |
<dubbo:module/>
模組資訊配置:
配置類:com.alibaba.dubbo.config.ModuleConfig
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:module> | name | module | string | 必填 | 服務治理 | 當前模組名稱,用於註冊中心計算模組間依賴關係 | 2.2.0以上版本 | |
<dubbo:module> | version | module.version | string | 可選 | 服務治理 | 當前模組的版本 | 2.2.0以上版本 | |
<dubbo:module> | owner | owner | string | 可選 | 服務治理 | 模組負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.2.0以上版本 | |
<dubbo:module> | organization | organization | string | 可選 | 服務治理 | 組織名稱(BU或部門),用於註冊中心區分服務來源,此配置項建議不要使用autoconfig,直接寫死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等 | 2.2.0以上版本 |
<dubbo:provider/>
服務提供者預設值配置:
配置類:com.alibaba.dubbo.config.ProviderConfig
說明:該標籤為<dubbo:service>和<dubbo:protocol>標籤的預設值設定。
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:provider> | id | string | 可選 | dubbo | 配置關聯 | 協議BeanId,可以在<dubbo:service proivder="">中引用此ID | 1.0.16以上版本 | |
<dubbo:provider> | protocol | <protocol> | string | 可選 | dubbo | 效能調優 | 協議名稱 | 1.0.16以上版本 |
<dubbo:provider> | host | <host> | string | 可選 | 自動查詢本機IP | 服務發現 | 服務主機名,多網絡卡選擇或指定VIP及域名時使用,為空則自動查詢本機IP,建議不要配置,讓Dubbo自動獲取本機IP | 1.0.16以上版本 |
<dubbo:provider> | threads | threads | int | 可選 | 100 | 效能調優 | 服務執行緒池大小(固定大小) | 1.0.16以上版本 |
<dubbo:provider> | payload | payload | int | 可選 | 88388608(=8M) | 效能調優 | 請求及響應資料包大小限制,單位:位元組 | 2.0.0以上版本 |
<dubbo:provider> | path | <path> | string | 可選 | 服務發現 | 提供者上下文路徑,為服務path的字首 | 2.0.0以上版本 | |
<dubbo:provider> | server | server | string | 可選 | dubbo協議預設為netty,http協議預設為servlet | 效能調優 | 協議的伺服器端實現型別,比如:dubbo協議的mina,netty等,http協議的jetty,servlet等 | 2.0.0以上版本 |
<dubbo:provider> | client | client | string | 可選 | dubbo協議預設為netty | 效能調優 | 協議的客戶端實現型別,比如:dubbo協議的mina,netty等 | 2.0.0以上版本 |
<dubbo:provider> | codec | codec | string | 可選 | dubbo | 效能調優 | 協議編碼方式 | 2.0.0以上版本 |
<dubbo:provider> | serialization | serialization | string | 可選 | dubbo協議預設為hessian2,rmi協議預設為java,http協議預設為json | 效能調優 | 協議序列化方式,當協議支援多種序列化方式時使用,比如:dubbo協議的dubbo,hessian2,java,compactedjava,以及http協議的json,xml等 | 2.0.5以上版本 |
<dubbo:provider> | default | boolean | 可選 | false | 配置關聯 | 是否為預設協議,用於多協議 | 1.0.16以上版本 | |
<dubbo:provider> | filter | service.filter | string | 可選 | 效能調優 | 服務提供方遠端呼叫過程攔截器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 | |
<dubbo:provider> | listener | exporter.listener | string | 可選 | 效能調優 | 服務提供方匯出服務監聽器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 | |
<dubbo:provider> | threadpool | threadpool | string | 可選 | fixed | 效能調優 | 執行緒池型別,可選:fixed/cached | 2.0.5以上版本 |
<dubbo:provider> | accepts | accepts | int | 可選 | 0 | 效能調優 | 服務提供者最大可接受連線數 | 2.0.5以上版本 |
<dubbo:provider> | version | version | string | 可選 | 0.0.0 | 服務發現 | 服務版本,建議使用兩位數字版本,如:1.0,通常在介面不相容時版本號才需要升級 | 2.0.5以上版本 |
<dubbo:provider> | group | group | string | 可選 | 服務發現 | 服務分組,當一個介面有多個實現,可以用分組區分 | 2.0.5以上版本 | |
<dubbo:provider> | delay | delay | int | 可選 | 0 | 效能調優 | 延遲註冊服務時間(毫秒)- ,設為-1時,表示延遲到Spring容器初始化完成時暴露服務 | 2.0.5以上版本 |
<dubbo:provider> | timeout | default.timeout | int | 可選 | 1000 | 效能調優 | 遠端服務呼叫超時時間(毫秒) | 2.0.5以上版本 |
<dubbo:provider> | retries | default.retries | int | 可選 | 2 | 效能調優 | 遠端服務呼叫重試次數,不包括第一次呼叫,不需要重試請設為0 | 2.0.5以上版本 |
<dubbo:provider> | connections | default.connections | int | 可選 | 0 | 效能調優 | 對每個提供者的最大連線數,rmi、http、hessian等短連線協議表示限制連線數,dubbo等長連線協表示建立的長連線個數 | 2.0.5以上版本 |
<dubbo:provider> | loadbalance | default.loadbalance | string | 可選 | random | 效能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍呼叫 | 2.0.5以上版本 |
<dubbo:provider> | async | default.async | boolean | 可選 | false | 效能調優 | 是否預設非同步執行,不可靠非同步,只是忽略返回值,不阻塞執行執行緒 | 2.0.5以上版本 |
<dubbo:provider> | stub | stub | boolean | 可選 | false | 服務治理 | 設為true,表示使用預設代理類名,即:介面名 + Local字尾。 | 2.0.5以上版本 |
<dubbo:provider> | mock | mock | boolean | 可選 | false | 服務治理 | 設為true,表示使用預設Mock類名,即:介面名 + Mock字尾。 | 2.0.5以上版本 |
<dubbo:provider> | token | token | boolean | 可選 | false | 服務治理 | 令牌驗證,為空表示不開啟,如果為true,表示隨機生成動態令牌 | 2.0.5以上版本 |
<dubbo:provider> | registry | registry | string | 可選 | 預設向所有registry註冊 | 配置關聯 | 向指定註冊中心註冊,在多個註冊中心時使用,值為<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設為N/A | 2.0.5以上版本 |
<dubbo:provider> | dynamic | dynamic | boolean | 可選 | true | 服務治理 | 服務是否動態註冊,如果設為false,註冊後將顯示後disable狀態,需人工啟用,並且服務提供者停止時,也不會自動取消冊,需人工禁用。 | 2.0.5以上版本 |
<dubbo:provider> | accesslog | accesslog | string/boolean | 可選 | false | 服務治理 | 設為true,將向logger中輸出訪問日誌,也可填寫訪問日誌檔案路徑,直接把訪問日誌輸出到指定檔案 | 2.0.5以上版本 |
<dubbo:provider> | owner | owner | string | 可選 | 服務治理 | 服務負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.0.5以上版本 | |
<dubbo:provider> | document | document | string | 可選 | 服務治理 | 服務文件URL | 2.0.5以上版本 | |
<dubbo:provider> | weight | weight | int | 可選 | 效能調優 | 服務權重 | 2.0.5以上版本 | |
<dubbo:provider> | executes | executes | int | 可選 | 0 | 效能調優 | 服務提供者每服務每方法最大可並行執行請求數 | 2.0.5以上版本 |
<dubbo:provider> | actives | default.actives | int | 可選 | 0 | 效能調優 | 每服務消費者每服務每方法最大併發呼叫數 | 2.0.5以上版本 |
<dubbo:provider> | proxy | proxy | string | 可選 | javassist | 效能調優 | 生成動態代理方式,可選:jdk/javassist | 2.0.5以上版本 |
<dubbo:provider> | cluster | default.cluster | string | 可選 | failover | 效能調優 | 叢集方式,可選:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 |
<dubbo:provider> | deprecated | deprecated | boolean | 可選 | false | 服務治理 | 服務是否過時,如果設為true,消費方引用時將列印服務過時警告error日誌 | 2.0.5以上版本 |
<dubbo:provider> | queues | queues | int | 可選 | 0 | 效能調優 | 執行緒池佇列大小,當執行緒池滿時,排隊等待執行的佇列大小,建議不要設定,當執行緒程池時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 | 2.0.5以上版本 |
<dubbo:provider> | charset | charset | string | 可選 | UTF-8 | 效能調優 | 序列化編碼 | 2.0.5以上版本 |
<dubbo:provider> | buffer | buffer | int | 可選 | 8192 | 效能調優 | 網路讀寫緩衝區大小 | 2.0.5以上版本 |
<dubbo:provider> | iothreads | iothreads | int | 可選 | CPU + 1 | 效能調優 | IO執行緒池,接收網路讀寫中斷,以及序列化和反序列化,不處理業務,業務執行緒池參見threads配置,此執行緒池和CPU相關,不建議配置。 | 2.0.5以上版本 |
<dubbo:provider> | telnet | telnet | string | 可選 | 服務治理 | 所支援的telnet命令,多個命令用逗號分隔 | 2.0.5以上版本 | |
<dubbo:service> | contextpath | contextpath | String | 可選 | 預設為空串 | 服務治理 | 2.0.6以上版本 | |
<dubbo:provider> | layer | layer | string | 可選 | 服務治理 | 服務提供者所在的分層。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 |
<dubbo:consumer/>
服務消費者預設值配置:
配置類:com.alibaba.dubbo.config.ConsumerConfig
說明:該標籤為<dubbo:reference>標籤的預設值設定。
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:consumer> | timeout | default.timeout | int | 可選 | 1000 | 效能調優 | 遠端服務呼叫超時時間(毫秒) | 1.0.16以上版本 |
<dubbo:consumer> | retries | default.retries | int | 可選 | 2 | 效能調優 | 遠端服務呼叫重試次數,不包括第一次呼叫,不需要重試請設為0 | 1.0.16以上版本 |
<dubbo:consumer> | loadbalance | default.loadbalance | string | 可選 | random | 效能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍呼叫 | 1.0.16以上版本 |
<dubbo:consumer> | async | default.async | boolean | 可選 | false | 效能調優 | 是否預設非同步執行,不可靠非同步,只是忽略返回值,不阻塞執行執行緒 | 2.0.0以上版本 |
<dubbo:consumer> | connections | default.connections | int | 可選 | 100 | 效能調優 | 每個服務對每個提供者的最大連線數,rmi、http、hessian等短連線協議支援此配置,dubbo協議長連線不支援此配置 | 1.0.16以上版本 |
<dubbo:consumer> | generic | generic | boolean | 可選 | false | 服務治理 | 是否預設泛化介面,如果為泛化介面,將返回GenericService | 2.0.0以上版本 |
<dubbo:consumer> | check | check | boolean | 可選 | true | 服務治理 | 啟動時檢查提供者是否存在,true報錯,false忽略 | 1.0.16以上版本 |
<dubbo:consumer> | proxy | proxy | string | 可選 | javassist | 效能調優 | 生成動態代理方式,可選:jdk/javassist | 2.0.5以上版本 |
<dubbo:consumer> | owner | owner | string | 可選 | 服務治理 | 呼叫服務負責人,用於服務治理,請填寫負責人公司郵箱字首 | 2.0.5以上版本 | |
<dubbo:consumer> | actives | default.actives | int | 可選 | 0 | 效能調優 | 每服務消費者每服務每方法最大併發呼叫數 | 2.0.5以上版本 |
<dubbo:consumer> | cluster | default.cluster | string | 可選 | failover | 效能調優 | 叢集方式,可選:failover/failfast/failsafe/failback/forking | 2.0.5以上版本 |
<dubbo:consumer> | filter | reference.filter | string | 可選 | 效能調優 | 服務消費方遠端呼叫過程攔截器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 | |
<dubbo:consumer> | listener | invoker.listener | string | 可選 | 效能調優 | 服務消費方引用服務監聽器名稱,多個名稱用逗號分隔 | 2.0.5以上版本 | |
<dubbo:consumer> | registry | string | 可選 | 預設向所有registry註冊 | 配置關聯 | 向指定註冊中心註冊,在多個註冊中心時使用,值為<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設為N/A | 2.0.5以上版本 | |
<dubbo:consumer> | layer | layer | string | 可選 | 服務治理 | 服務呼叫者所在的分層。如:biz、dao、intl:web、china:acton。 | 2.0.7以上版本 | |
<dubbo:consumer> | init | init | boolean | 可選 | false | 效能調優 | 是否在afterPropertiesSet()時飢餓初始化引用,否則等到有人注入或引用該例項時再初始化。 | 2.0.10以上版本 |
<dubbo:consumer> | cache | cache | string/boolean | 可選 | 服務治理 | 以呼叫引數為key,快取返回結果,可選:lru, threadlocal, jcache等 | Dubbo2.1.0及其以上版本支援 | |
<dubbo:consumer> | validation | validation | boolean | 可選 | 服務治理 | 是否啟用JSR303標準註解驗證,如果啟用,將對方法引數上的註解進行校驗 | Dubbo2.1.0及其以上版本支援 |
<dubbo:method/>
方法級配置:
配置類:com.alibaba.dubbo.config.MethodConfig
說明:該標籤為<dubbo:service>或<dubbo:reference>的子標籤,用於控制到方法級,
標籤 | 屬性 | 對應URL引數 | 型別 | 是否必填 | 預設值 | 作用 | 描述 | 相容性 |
---|---|---|---|---|---|---|---|---|
<dubbo:method> | name | string | 必填 | 標識 | 方法名 | 1.0.8以上版本 | ||
<dubbo:method> | timeout | <metodName>.timeout | int | 可選 | 預設為的timeout | 效能調優 | 方法呼叫超時時間(毫秒) | 1.0.8以上版本 |
<dubbo:method> | retries | <metodName>.retries | int | 可選 | 預設為<dubbo:reference>的retries | 效能調優 | 遠端服務呼叫重試次數,不包括第一次呼叫,不需要重試請設為0 | 2.0.0以上版本 |
<dubbo:method> | loadbalance | <metodName>.loadbalance | string | 可選 | 預設為的loadbalance | 效能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍呼叫 | 2.0.0以上版本 |
<dubbo:method> | async | <metodName>.async | boolean | 可選 | 預設為<dubbo:reference>的async | 效能調優 | 是否非同步執行,不可靠非同步,只是忽略返回值,不阻塞執行執行緒 | 1.0.9以上版本 |
<dubbo:method> | sent | <methodName>.sent | boolean | 可選 | true | 效能調優 | 非同步呼叫時,標記sent=true時,表示網路已發出資料 | 2.0.6以上版本 |
<dubbo:method> | actives | <metodName>.actives | int | 可選 | 0 | 效能調優 | 每服務消費者最大併發呼叫限制 | 2.0.5以上版本 |
<dubbo:method> | executes | <metodName> |