并发控制
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" />
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 July 24, 2022: Add some migration notification for docs (#1284) (edfee01a11)