当前位置: 首页 > news >正文

负载均衡加权轮询算法

随机数加权轮询算法

public int select() {int[] weights = {10, 20, 50};int totalWeight = weights[0] + weights[1] + weights[2];// 取随机数int offset = ThreadLocalRandom.current().nextInt(totalWeight);for (int i = 0; i < weights.length; i++) {offset -= weights[i];if (offset < 0) {return i;}}return -1;}

平滑加权轮询算法

int[] weights = {10, 20, 50};   // 节点权重int totalWeight = weights[0] + weights[1] + weights[2]; // 总权重int[] current = new int[]{10, 20, 50};  // 初始化当前权重public int select() {int maxCurrent = -1, selected = -1;// 遍历所有节点,找到当前权重最大的节点for (int i = 0; i < weights.length; i++) {// 重新计算当前权重current[i] += weights[i];int cur = current[i];if (cur > maxCurrent) {maxCurrent = cur;selected = i;}}// 被选中的节点减去总权重current[selected] -= totalWeight;return selected;}

 

 

http://www.lryc.cn/news/364800.html

相关文章:

  • PyTorch 相关知识介绍
  • 1千2初中英语语法题库ACCESS\EXCEL数据库
  • 高德面试:为什么Map不能插入null?
  • MySQL数据库主从配置
  • 测试工程师经常使用的Python中的库,以及对应常用的函数
  • 【frp】服务端配置与systemd启动
  • 计算机网络学习实践:模拟RIP动态路由
  • 详解 Flink 的常见部署方式
  • 【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)
  • 数据结构严蔚敏版精简版-线性表以及c语言代码实现
  • 【react】react项目支持鼠标拖拽的边框改变元素宽度的组件
  • QT 创建文件 Ui 不允许使用不完整类型,可以尝试添加一下任何头文件
  • Python:深入探索其生态系统与应用领域
  • EXCEL从图片链接获取图片
  • Docker迁移默认存储目录(GPT-4o)
  • 植物大战僵尸杂交版2.0.88最新版安装包
  • MQ基础(RabbitMQ)
  • eclipse添加maven插件
  • 知识库系统:从认识到搭建
  • JVM双亲委派模型
  • Python语言与算法:深度探索与实战应用
  • Python实现连连看7
  • C#中的as和is
  • 示波器眼图怎么看
  • Visual Studio Code编辑STM32CubeMX已生成的文件
  • 【读脑仪game】
  • 基于STM32的毕业设计示例
  • 图片格式怎么转成pdf,简单的方法
  • 在 Debian 上使用和配置 SSH 的指南
  • Sleep | 纺锤波-慢波耦合与解决问题的能力:年龄的影响