dubbo并发控制和连接控制
1. 并发控制
1.1. 服务端并发控制
限制com.foo.BarService的每个方法,服务器端并发执行(或占用线程池线程数)不能超过10个:
<dubbo:service interface="com.foo.BarService" executes="10" />
限制com.foo.BarService的sayHello方法,服务器端并发执行(或占用线程池线程数)不能超过10个:
<dubbo:service interface="com.foo.BarService">
<dubbo:method name="sayHello" executes="10" />
</dubbo:service>
1.2. 客户端并发控制
1.2.1. 控制到接口所有方法
限制com.foo.BarService的每个方法,每客户端并发执行(或占用连接的请求数)不能超过10个:
<dubbo:service interface="com.foo.BarService" actives="10" />
Or:
<dubbo:reference interface="com.foo.BarService" actives="10" />
1.2.2. 控制接口特定方法
限制com.foo.BarService的sayHello方法,每客户端并发执行(或占用连接的请求数)不能超过10个:
<dubbo:service interface="com.foo.BarService">
<dubbo:method name="sayHello" actives="10" />
</dubbo:service>
Or:
<dubbo:reference interface="com.foo.BarService">
<dubbo:method name="sayHello" actives="10" />
</dubbo:service>
如果dubbo:service和dubbo:reference都配了actives,dubbo:reference优先
2. 连接控制
2.1. 服务端连接控制
限制服务器端接受的连接不能超过10个:(以连接在Server上,所以配置在Provider上)
<dubbo:provider protocol="dubbo" accepts="10" />
<dubbo:protocol name="dubbo" accepts="10" />
2.2. 客户端连接控制
限制客户端服务使用连接连接数:(如果是长连接,比如dubbo协议,connections表示该服务对每个提供者建立的长连接数)
<dubbo:reference interface="com.foo.BarService" connections="10" />
Or:
<dubbo:service interface="com.foo.BarService" connections="10" />
如果dubbo:service和dubbo:reference都配了connections,dubbo:reference优先
3. Load Balance均衡
配置服务的客户端的loadbalance属性为leastactive
,此为最不活跃优先的负载均衡算法,此Loadbalance会调用并发数最小的Provider(Consumer端并发数)。
<dubbo:reference interface="com.foo.BarService" loadbalance="leastactive" />
Or:
<dubbo:service interface="com.foo.BarService" loadbalance="leastactive" />
本文来源:https://blog.csdn.net/qq_31326741/article/details/50807833
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。