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

网站设计公司 广州鄠邑建站 网站建设

网站设计公司 广州,鄠邑建站 网站建设,企业建设网站流程,erp系统哪个品牌最好随机算法是指#xff1a;从服务器列表中#xff0c;随机选取一台服务器进行访问。由概率论可以得知#xff0c;随着客户端调用服务端的次数增多#xff0c;其实际效果趋近于平均分配请求到服务端的每一台服务器#xff0c;也就是达到轮询的效果。一、算法描述假设有 N 台服…随机算法是指从服务器列表中随机选取一台服务器进行访问。由概率论可以得知随着客户端调用服务端的次数增多其实际效果趋近于平均分配请求到服务端的每一台服务器也就是达到轮询的效果。一、算法描述假设有 N 台服务器 S {S0, S1, S2, …, Sn}算法可以描述为1、通过随机函数生成 0 到 N 之间的任意整理将该数字作为索引从 S 中获取对应的服务器假定我们现在有如下四台服务器服务器地址权重192.168.1.11192.168.1.22192.168.1.33192.168.1.44初始化服务列表后 serverList 如下服务器地址序号192.168.1.11192.168.1.22192.168.1.23192.168.1.34随机算法与服务器权重没有关系每个服务器会被随机访问到。当调用次数足够多时每台服务器被访问的概率近似是相等的随机算法的效果就越趋近于轮询算法。二、java代码实现package com.test.mvp.schedulealgothrim;import com.google.common.collect.SortedMultiset;import com.google.common.collect.TreeMultiset;import org.apache.commons.collections4.CollectionUtils;import java.io.Serializable;import java.util.ArrayList;import java.util.Map;import java.util.Random;import java.util.Set;import java.util.TreeMap;class Server implements Serializable {private static final long serialVersionUID 7246747589293111189L;private String server;private Integer weight;private String description;public Server(String server, String description, Integer weight) {this.server server;this.description description;this.weight weight;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}public String getServer() {return server;}public void setServer(String server) {this.server server;}public Integer getWeight() {return weight;}public void setWeight(Integer weight) {this.weight weight;}}class ServerManager {public static Map serverMap new TreeMap();static {serverMap.put(192.168.1.1, new Server(192.168.1.1, 第1台server, 1));serverMap.put(192.168.1.2, new Server(192.168.1.2, 第2台server, 2));serverMap.put(192.168.1.3, new Server(192.168.1.3, 第3台server, 3));serverMap.put(192.168.1.4, new Server(192.168.1.4, 第4台server, 4));}}class RandomBalance {private static final Random RANDOM new Random();private static ArrayList middleServerList;public static String getServer() {if (CollectionUtils.isEmpty(middleServerList)) {Set serverSet ServerManager.serverMap.keySet();middleServerList new ArrayList(serverSet);}return middleServerList.get(RANDOM.nextInt(middleServerList.size()));}}public class RandomScheduleTest {public static void main(String[] args) {SortedMultiset serverSet TreeMultiset.create();for (int i 0; i 100; i) {String server RandomBalance.getServer();Server curServer ServerManager.serverMap.get(server);System.out.println(server , curServer.getDescription());serverSet.add(server, 1);}ServerManager.serverMap.forEach((key, value)-{System.out.println(key , count serverSet.count(key));});}}运算结果如下所示192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.2, 第2台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.2, 第2台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.1, 第1台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.2, 第2台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.2, 第2台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.3, 第3台server192.168.1.2, 第2台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.1, 第1台server192.168.1.4, 第4台server192.168.1.3, 第3台server192.168.1.4, 第4台server192.168.1.2, 第2台server192.168.1.1, 第1台server192.168.1.2, 第2台server192.168.1.4, 第4台server192.168.1.4, 第4台server192.168.1.1, 第1台server192.168.1.3, 第3台server192.168.1.1, count26192.168.1.2, count20192.168.1.3, count26192.168.1.4, count28说明1、首先使用 Random 对象随机生成 [0, serverList.size()) 的整数然后通过索引获取到服务器。2、在多线程的情况下若线程A修改 ServerManager.serverMap 的值则线程B无法即时拿到线程A修改后的值可能会导致请求错误需要调用方进行容错处理。3、从宏观的角度看访问量越大负载越均衡。从微观的角度看局部并不那么均衡。本文地址https://blog.csdn.net/chinawangfei/article/details/109643598如您对本文有疑问或者有任何想说的请点击进行留言回复万千网友为您解惑
http://www.sadfv.cn/news/479126/

相关文章:

  • 网站右侧浮动导航wordpress 钩子怎么用
  • 创业做软件还是做网站智慧团建网站几点关闭
  • wordpress 主题安装教程seo排名咨询
  • 网站域名申请程序专做艺术圈的网站
  • 绍兴网站建设团队建筑工程网课心得体会
  • 郑州免费网站建设哪家好淘客联盟如何做网站推广
  • 南京做网站多少钱电商关键词工具
  • 如何获取网站是哪个公司制作wordpress 模板层次结构信息图
  • 阜阳网站建设网页源码在线查看
  • 深圳有做网站的公司660元哈尔滨专业做网站
  • wordpress允许特定网络优化工程师面试题
  • 我们网站在那里登陆后台系统管理域名备案和网站备案有什么不同
  • 做网站需要成立公司吗2024年最新时事新闻
  • 广州哪家做网站价格好平面设计需要美术功底吗
  • 合肥工程建设交易中心网站网站专业建设
  • 响应式网站开发哪个好wordpress会员卡
  • 计算机专业设计一个网站得物网上商城
  • 网站备案查询工信部陕西交通建设集团西商分公司网站
  • 如何通过网站标题找网站wnmp 搭建WordPress
  • 自己弄个网站温州的网站设计
  • 扁平化设计网站 源码wordpress 移动版
  • 免费网站空间申请重庆最火的网站
  • 网站点赞怎么做的企业网站的设计怎么做
  • 淄博企业建网站wordpress在线朗读
  • 网站建设人员招聘要求陕西网站开发公司地址
  • flash个人网站源码wordpress 提高收录
  • 有什么设计网站推荐2024最近爆发的流感叫什么
  • 建设网站选多大的空间合适wordpress爬取文章插件
  • 做网站需求 后期方便优化手表网站 海马300米潜水表
  • 做游戏网站公司牡丹江百度推广