负载均衡器之AbstractLoadBalancer解读
程序员文章站
2022-03-15 22:41:30
...
一 类图
二 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();
}