dubbo主要以配置文件為中心進行配置,而dubbo限流也應在配置文件中進行配置,所以我去找了dubbo官網,現將找到的dubbo限流配置記載下來
一:dubbo:service
服務提供者暴露服務配置
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
delay | delay | int | 可選 | 0 | 性能調優 | 延遲注冊服務時間(毫秒) ,設為-1時,表示延遲到Spring容器初始化完成時暴露服務 | 1.0.14以上版本 |
timeout | timeout | int | 可選 | 1000 | 性能調優 | 遠程服務調用超時時間(毫秒) | 2.0.0以上版本 |
retries | retries | int | 可選 | 2 | 性能調優 | 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 | 2.0.0以上版本 |
connections | connections | int | 可選 | 100 | 性能調優 | 對每個提供者的最大連接數,rmi、http、hessian等短連接協議表示限制連接數,dubbo等長連接協表示建立的長連接個數 | 2.0.0以上版本 |
loadbalance | loadbalance | string | 可選 | random | 性能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪詢,最少活躍調用 | 2.0.0以上版本 |
executes | executes | int | 可選 | 0 | 性能調優 | 服務提供者每服務每方法最大可並行執行請求數 | 2.0.5以上版本 |
二:dubbo:reference
服務消費者引用服務配置
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
timeout | timeout | long | 可選 | 缺省使用<dubbo:consumer>的timeout | 性能調優 | 服務方法調用超時時間(毫秒) | 1.0.5以上版本 |
retries | retries | int | 可選 | 缺省使用<dubbo:consumer>的retries | 性能調優 | 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 | 2.0.0以上版本 |
connections | connections | int | 可選 | 缺省使用<dubbo:consumer>的connections | 性能調優 | 對每個提供者的最大連接數,rmi、http、hessian等短連接協議表示限制連接數,dubbo等長連接協表示建立的長連接個數 | 2.0.0以上版本 |
loadbalance | loadbalance | string | 可選 | 缺省使用<dubbo:consumer>的loadbalance | 性能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪詢,最少活躍調用 | 2.0.0以上版本 |
cache | cache | string/boolean | 可選 | 服務治理 | 以調用參數為key,緩存返回結果,可選:lru, threadlocal, jcache等 | Dubbo2.1.0及其以上版本支持 | |
actives | actives | int | 可選 | 0 | 性能調優 | 每服務消費者每服務每方法最大並發調用數 | 2.0.5以上版本 |
三:dubbo:protocol
服務提供者協議配置。同時,如果需要支持多協議,可以聲明多個 <dubbo:protocol>
標簽,並在 <dubbo:service>
中通過 protocol
屬性指定使用的協議。
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
threadpool | threadpool | string | 可選 | fixed | 性能調優 | 線程池類型,可選:fixed/cached | 2.0.5以上版本 |
threads | threads | int | 可選 | 200 | 性能調優 | 服務線程池大小(固定大小) | 2.0.5以上版本 |
iothreads | threads | int | 可選 | cpu個數+1 | 性能調優 | io線程池大小(固定大小) | 2.0.5以上版本 |
accepts | accepts | int | 可選 | 0 | 性能調優 | 服務提供方最大可接受連接數 | 2.0.5以上版本 |
queues | queues | int | 可選 | 0 | 性能調優 | 線程池隊列大小,當線程池滿時,排隊等待執行的隊列大小,建議不要設置,當線程池滿時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 | 2.0.5以上版本 |
四:dubbo:registry
注冊中心配置。同時如果有多個不同的注冊中心,可以聲明多個 <dubbo:registry>
標簽,並在 <dubbo:service>
或 <dubbo:reference>
的 registry
屬性指定使用的注冊中心。
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
timeout | registry.timeout | int | 可選 | 5000 | 性能調優 | 注冊中心請求超時時間(毫秒) | 2.0.0以上版本 |
session | registry.session | int | 可選 | 60000 | 性能調優 | 注冊中心會話超時時間(毫秒),用於檢測提供者非正常斷線后的臟數據,比如用心跳檢測的實現,此時間就是心跳間隔,不同注冊中心實現不一樣。 | 2.1.0以上版本 |
五:dubbo:provider
服務提供者缺省值配置。同時該標簽為 <dubbo:service>
和 <dubbo:protocol>
標簽的缺省值設置。
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
threads | threads | int | 可選 | 200 | 性能調優 | 服務線程池大小(固定大小) | 1.0.16以上版本 |
threadpool | threadpool | string | 可選 | fixed | 性能調優 | 線程池類型,可選:fixed/cached/limit(2.5.3以上)/eager(2.6.x以上) | 2.0.5以上版本 |
accepts | accepts | int | 可選 | 0 | 性能調優 | 服務提供者最大可接受連接數 | 2.0.5以上版本 |
delay | delay | int | 可選 | 0 | 性能調優 | 延遲注冊服務時間(毫秒)- ,設為-1時,表示延遲到Spring容器初始化完成時暴露服務 | 2.0.5以上版本 |
timeout | default.timeout | int | 可選 | 1000 | 性能調優 | 遠程服務調用超時時間(毫秒) | 2.0.5以上版本 |
retries | default.retries | int | 可選 | 2 | 性能調優 | 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 | 2.0.5以上版本 |
connections | default.connections | int | 可選 | 0 | 性能調優 | 對每個提供者的最大連接數,rmi、http、hessian等短連接協議表示限制連接數,dubbo等長連接協表示建立的長連接個數 | 2.0.5以上版本 |
loadbalance | default.loadbalance | string | 可選 | random | 性能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪詢,最少活躍調用 | 2.0.5以上版本 |
executes | executes | int | 可選 | 0 | 性能調優 | 服務提供者每服務每方法最大可並行執行請求數 | 2.0.5以上版本 |
actives | default.actives | int | 可選 | 0 | 性能調優 | 每服務消費者每服務每方法最大並發調用數 | 2.0.5以上版本 |
queues | queues | int | 可選 | 0 | 性能調優 | 線程池隊列大小,當線程池滿時,排隊等待執行的隊列大小,建議不要設置,當線程池滿時應立即失敗,重試其它服務提供機器,而不是排隊,除非有特殊需求。 | 2.0.5以上版本 |
iothreads | iothreads | int | 可選 | CPU + 1 | 性能調優 | IO線程池,接收網絡讀寫中斷,以及序列化和反序列化,不處理業務,業務線程池參見threads配置,此線程池和CPU相關,不建議配置。 | 2.0.5以上版本 |
六:dubbo:consumer
服務消費者缺省值配置。同時該標簽為 <dubbo:reference>
標簽的缺省值設置。
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
timeout | default.timeout | int | 可選 | 1000 | 性能調優 | 遠程服務調用超時時間(毫秒) | 1.0.16以上版本 |
retries | default.retries | int | 可選 | 2 | 性能調優 | 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0,僅在cluster為failback/failover時有效 | 1.0.16以上版本 |
loadbalance | default.loadbalance | string | 可選 | random | 性能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪詢,最少活躍調用 | 1.0.16以上版本 |
connections | default.connections | int | 可選 | 100 | 性能調優 | 每個服務對每個提供者的最大連接數,rmi、http、hessian等短連接協議支持此配置,dubbo協議長連接不支持此配置 | 1.0.16以上版本 |
actives | default.actives | int | 可選 | 0 | 性能調優 | 每服務消費者每服務每方法最大並發調用數 | 2.0.5以上版本 |
七:dubbo:method
方法級配置。同時該標簽為 <dubbo:service>
或 <dubbo:reference>
的子標簽,用於控制到方法級。
屬性 | 對應URL參數 | 類型 | 是否必填 | 缺省值 | 作用 | 描述 | 兼容性 |
---|---|---|---|---|---|---|---|
timeout | <methodName>.timeout | int | 可選 | 缺省為的timeout | 性能調優 | 方法調用超時時間(毫秒) | 1.0.8以上版本 |
retries | <methodName>.retries | int | 可選 | 缺省為<dubbo:reference>的retries | 性能調優 | 遠程服務調用重試次數,不包括第一次調用,不需要重試請設為0 | 2.0.0以上版本 |
loadbalance | <methodName>.loadbalance | string | 可選 | 缺省為的loadbalance | 性能調優 | 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪詢,最少活躍調用 | 2.0.0以上版本 |
actives | <methodName>.actives | int | 可選 | 0 | 性能調優 | 每服務消費者最大並發調用限制 | 2.0.5以上版本 |
executes | <methodName>.executes | int | 可選 | 0 | 性能調優 | 每服務每方法最大使用線程數限制- -,此屬性只在<dubbo:method>作為<dubbo:service>子標簽時有效 | 2.0.5以上版本 |