Dubbo的负载均衡

负载均衡(Load Balance):其实就是将请求分摊到多个操作单元上进行执行,从而共同完成工作任务。

在集群负载均衡时,Dubbo 提供了多种均衡策略(包括随机random、轮询roundrobin、最少活跃调用数leastactive),缺省为random随机调用。

配置负载均衡策略,既可以在服务提供者一方配置,也可以在服务消费者一方配置,两者取一

  • 如下服务提供者指定负载均衡策略:
@Service(loadbalance = "roundrobin")
public class UserServiceImpl implements UserSerivce {
    @Override
    public boolean login(String username, String password) {
        System.out.println(" 8881 login,username:"+username+" password:"+password);
        // 模拟用户验证登录过程,正式开发时通过Dao来验证
        if ("admin".equals(username) && "123".equals(password)){
            return true;
        }
        return false;
    }
}

如下在服务消费者指定负载均衡策略

@Controller
@RequestMapping("/user")
public class UserController {

    @Reference(loadbalance = "roundrobin")
    private UserSerivce userService;

测试负载均衡效果

多个服务提供者服务器,多个服务消费者,消费者会轮询每个消费者服务器,不会只访问一台提供者服务器。

你可能感兴趣的:(Dubbo的负载均衡)