@SpiMeta(name="activeWeight") public class ActiveWeightLoadBalance<T> extends AbstractLoadBalance<T>
1) 低并发度优先: referer的某时刻的call数越小优先级越高
2) 低并发referer获取策略:
由于Referer List可能很多,比如上百台,如果每次都要从这上百个Referer或者最低并发的几个,性能有些损耗,
因此 random.nextInt(list.size()) 获取一个起始的index,然后获取最多不超过MAX_REFERER_COUNT的
状态是isAvailable的referer进行判断activeCount.
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
MAX_REFERER_COUNT |
| 构造器和说明 |
|---|
ActiveWeightLoadBalance() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Referer<T> |
doSelect(Request request) |
protected void |
doSelectToHolder(Request request,
List<Referer<T>> refersHolder) |
getReferers, onRefresh, select, selectToHolder, setWeightStringpublic static final int MAX_REFERER_COUNT
protected void doSelectToHolder(Request request, List<Referer<T>> refersHolder)
doSelectToHolder 在类中 AbstractLoadBalance<T>Copyright © 2016. All rights reserved.