dubbo负载均衡模式

  • dubbo提供以下负载均衡模式:
    Dubbo提供了多种均衡策略,缺省为random随机调用。
模式功能适用场景优点缺点
Random随机,按权重设置随机概率缺省
RoundRobin按公约后的权重设置轮循比率
LeastActive根据请求调用的次数计数处理请求更慢的节点会受到更少的请求
ConsistentHash相同参数的请求总是发到同一提供者当某一台提供者挂时,不会引起剧烈变动。

配置示例:

<dubbo:service interface="org.xx.dubbo.api.XXService" version="1.0.0"
     cluster="failover" retries="2" timeout="100" loadbalance="random"
     ref="xxBizService" protocol="dubbo" >
     <dubbo:method name="queryCount" timeout="80" retries="2" loadbalance="leastactive" />
</dubbo:service>

Dubbo框架也提供了实现自定义负载均衡策略的接口,可以实现com.alibaba.dubbo.rpc.cluster.LoadBalance接口,其定义如下:

/**
* LoadBalance. (SPI, Singleton, ThreadSafe)
*
* <a href="http://en.wikipedia.org/wiki/Load_balancing_(computing)">Load-Balancing</a>
*
* @see com.alibaba.dubbo.rpc.cluster.Cluster#join(Directory)
* @author qian.lei
* @author william.liangf
*/
@SPI(RandomLoadBalance.NAME)
public interface LoadBalance {

     /**
     * select one invoker in list.
     * @param invokers invokers.
     * @param url refer url
     * @param invocation invocation.
     * @return selected invoker.
     */
    @Adaptive("loadbalance")
     <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException;

}

.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值