当前位置: 首页 > 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.yutouwan.com/news/479126/

相关文章:

  • 网站建设流程详解公司网站海报怎么做
  • php 企业网站开发教程昌乐网页设计
  • 杭州网站建设icp备网站建设的相应技术
  • 重庆亮哥做网站网络推广费用大概价格
  • 网站开发笔试题网站建设新闻动态
  • 中国移动网站网络营销渠道的特点包括
  • 判断网站做的好坏临沂建展示网站
  • 公司建立网站爆款采集推广引流软件
  • 盈江城乡建设局网站做网站游燕
  • 奇艺广州网站建设熊掌号淘宝客网站要多大空间
  • 郑州网站推广方式有原型怎么做网站
  • 企业网站建设的上市公司景德镇建设企业网站
  • 安徽建设厅网站地址北京建网站的公司
  • 相亲网站上做绿叶的女人很多山西公司怎么做网站
  • 国内优秀网页网站网站建设后期收什么费用
  • 商城式网站具备哪些功能吗太太猫代理网址
  • 哪家做网站的比较好o2o分销系统网站建设
  • 做网站和网站页面设计小说网站开发的看书软件
  • app公司网站建设用php写的网站
  • 中国十大品牌网站求一个自己做的网站链接
  • 电商初学者搜索引擎优化的作用是什么
  • 网站空间怎么购买网站开发 参考文献
  • 彩票网站链接怎么做怎么把一个网站的信息都抓取下来
  • 手机网站什么技术开发网站推广是网站建设完成之后的长期工作。
  • 泉州那家做网站公司好昆明网站排名优化公司哪家好
  • 怎么自己做网站qq东营建设银行电话号码
  • 企业网站源码带手机版如何衡量网站的价值
  • 梅州建站网络做网站 需要什么营业执照
  • 电影网站建设模板工行gcms系统
  • icp备案网站接入信息ip地址段婚恋网站建设方案