並發控制
配置樣例
樣例 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> 優先,參見:配置的覆蓋策略。
Load Balance 均衡
配置服務的客戶端的 loadbalance 屬性為 leastactive,此 Loadbalance 會調用並發數最小的 Provider(Consumer端並發數)。
<dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />
或
<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />
