@SpiMeta(name="localFirst") public class LocalFirstLoadBalance<T> extends AbstractLoadBalance<T>
1) 本地服务优先:
当referers里面包含本地暴露的服务时,并此服务为available的情况下,优先使用此服务。
当不存在本地暴露的服务时,默认使用低并发ActiveWeight负载均衡策略
2) 本地服务优先获取策略:
对referers根据ip顺序查找本地服务,多存在多个本地服务,获取Active最小的本地服务进行服务。
当不存在本地服务,但是存在远程RPC服务,则根据ActivWeight获取远程RPC服务
当两者都存在,所有本地服务都应优先于远程服务,本地RPC服务与远程RPC服务内部则根据ActiveWeight进行
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
MAX_REFERER_COUNT |
| 构造器和说明 |
|---|
LocalFirstLoadBalance() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Referer<T> |
doSelect(Request request) |
protected void |
doSelectToHolder(Request request,
List<Referer<T>> refersHolder) |
static long |
ipToLong(String addr) |
getReferers, onRefresh, select, selectToHolder, setWeightStringpublic static final int MAX_REFERER_COUNT
public static long ipToLong(String addr)
protected void doSelectToHolder(Request request, List<Referer<T>> refersHolder)
doSelectToHolder 在类中 AbstractLoadBalance<T>Copyright © 2017. All rights reserved.