并发控制
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(Consumer 端并发量)。
<dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />
或者
<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />
上次修改时间:2023 年 1 月 2 日:增强 en 文档 (#1798) (95a9f4f6c1c)