Dubbo3 并发控制

2022-03-31 18:03 更新

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> ​优先,参见:配置的覆盖策略

Load Balance 均衡

配置服务的客户端的 ​loadbalance ​属性为 ​leastactive​,此 Loadbalance 会调用并发数最小的 Provider(Consumer端并发数)。

<dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />

<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号