加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
WeightRandom.java 748 Bytes
一键复制 编辑 原始数据 按行查看 历史
zwbckmy 提交于 2021-06-03 20:28 . 负载均衡
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
//缺点 权重大 ips越大 占内存 带权重随机
public class WeightRandom {
public static String getServer() {
//生成随机数作为List下标
List<String> ips = new ArrayList<>();
for (String ip: ServerIps.WEIGHT_LIST.keySet()) {
Integer weight = ServerIps.WEIGHT_LIST.get(ip);
//weight多少 在ips里面存多少 例 A 权重为2 在ips里面存两个
for (int i = 0; i < weight ; i++) {
ips.add(ip);
}
}
Random random = new Random();
int randomPos = random.nextInt(ips.size());
return ips.get(randomPos);
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化