併發控制
Dubbo 中的並行控制
配置範例
範例 1
限制 `com.foo.BarService` 的每個方法,在伺服器端的並行執行(或執行緒池中的執行緒數)不能超過 10 個
<dubbo:service interface="com.foo.BarService" executes="10" />
範例 2
限制 `com.foo.BarService` 的 `sayHello` 方法,在伺服器端的並行執行(或執行緒池中的執行緒數)不能超過 10 個
<dubbo:service interface="com.foo.BarService">
<dubbo:method name="sayHello" executes="10" />
</dubbo:service>
範例 3
限制 `com.foo.BarService` 的每個方法,每個客戶端的並行執行(或佔用連線的請求數)不超過 10 個
<dubbo:service interface="com.foo.BarService" actives="10" />
或者
<dubbo:reference interface="com.foo.BarService" actives="10" />
範例 4
限制 `com.foo.BarService` 的 `sayHello` 方法,每個客戶端的並行執行(或佔用連線的請求數)不超過 10 個
<dubbo:service interface="com.foo.BarService">
<dubbo:method name="sayHello" actives="10" />
</dubbo:service>
或者
<dubbo:reference interface="com.foo.BarService">
<dubbo:method name="sayHello" actives="10" />
</dubbo:service>
如果 `<dubbo:service>` 和 `<dubbo:reference>` 都配置了 actives,則 `<dubbo:reference>` 優先,詳見:[配置覆蓋策略](../../../reference-manual/config/principle/)
負載平衡
設定服務客戶端 `loadbalance` 屬性為 `leastactive`,此負載平衡策略會呼叫並行數最小(消費者端並行)的 Provider。
<dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />
或者
<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />
最後修改日期:2023 年 1 月 2 日:增強英文文件 (#1798) (95a9f4f6c1c)