负载均衡器之AbstractLoadBalancer解读

一 类图

二 AbstractLoadBalancer类解读

//AbstractLoadBalancer是ILoadBalancer接口的抽象实现。
public abstract class AbstractLoadBalancer implements ILoadBalancer {
    //定义了一个关于服务实例的分组枚举类ServerGroup
    public enum ServerGroup{
        ALL,
        STATUS_UP,
        STATUS_NOT_UP        
    }
        
    //调用接口中的chooseServer(Object key),其中参数key为null,表示在选择具体服务实例时忽略key的条件判断。
    public Server chooseServer() {
        return chooseServer(null);
    }

    //根据分组类型来获取不同的服务实例的列表
    public abstract List<Server> getServerList(ServerGroup serverGroup);
    
    //定义了获取LoadBalancerStats对象的方法,LoadBalancerStats对象被用来存储负载均衡器中各服务实例当前的属性和统计信息。
    public abstract LoadBalancerStats getLoadBalancerStats();    
}

猜你喜欢

转载自blog.csdn.net/chengqiuming/article/details/81190303