Dubbo提供了4种均衡策略,默认为Random(随机调用)
一、负载均衡策略:
1)、Random LoadBalance(随机,按照权重的设置随机概率)
2)、RoundRobinLoadBalance(轮询,按照权重设置轮询比率)
3)、LeastActive LoadBalance(最少活跃数,响应快的提供者接受越多请求,响应慢的接受越少请求)
4)、ConsistentHashLoadBalance(一致性Hash,相同参数的请求总是发到同一个服务提供者(相同参数默认是指请求的第一个参数)根据服务提供者ip设置hash环,携带相同的参数总是发送的同一个服务提供者,若服务挂了,则会基于虚拟节点平摊到其他提供者上
二、修改默认的负载均衡配置:
如果是注解,
那直接在@Reference中引用,然后注明loadblance="loadbalance ".其中loadbalance 为负载方式的值
通过暴露或引用服务的loadbalance属性修改
@Reference(loadbalance = "roundrobin")
private UserService userService;
或者:
@Component //org.springframework.stereotype.Component
@Service(loadbalance = "roundrobin") //com.alibaba.dubbo.config.annotation.Service
public class UserImpl implements UserService {
...
}
如果是xml方式配置,
<dubbo:service interface="..."loadbalance="roundrobin"/>