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

西部数码网站管理助手 ftp密码0基础网站搭建教程

西部数码网站管理助手 ftp密码,0基础网站搭建教程,wordpress头像class,做网站推广哪个好前言#xff1a; 负载均衡是为了解决并发情况下#xff0c;多个请求访问#xff0c;把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前#xff0c;先来了解一下负载均衡这个概念。 1.概念 负载#xff0c;从字面…前言 负载均衡是为了解决并发情况下多个请求访问把请求通过提前约定好的规则转发给各个server。其中有好几个种经典的算法。在用java代码编写这几种算法之前先来了解一下负载均衡这个概念。 1.概念 负载从字面意思可以分析是指后端server可以承受的压力。这个一方面是服务器的性能另一方面就是代码的质量了。 均衡就是说把服务部署在多态server如何调度这些资源。根据服务器性能不同进行一个权衡。 当web访问量增加服务器性能不同更好的去利用服务器我们需要负载均衡算法。 2.几种负载均衡算法简介 主要的负载均衡算法是图中这些在代码实现之前我们先简单回顾一下他们的概念。 轮询法 轮询算法按顺序把每个新的连接请求分配给下一个服务器最终把所有请求平分给所有的服务器。 优点绝对公平 缺点无法根据服务器性能去分配无法合理利用服务器资源。 加权轮询法 该算法中每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进比如你可以设定第三台机器的处理能力是第一台机器的两倍那么负载均衡器会把两倍的连接数量分配给第3台机器。加权轮询分为简单的轮询、平滑的轮询。 什么是平滑的轮询就是把每个不同的服务平均分布。在Nginx源码中实现了一种叫做平滑的加权轮询smooth weighted round-robin balancing的算法它生成的序列更加均匀。5个请求现在分散开来不再是连续的。 随机法 负载均衡方法随机的把负载分配到各个可用的服务器上通过随机数生成算法选取一个服务器。毕竟随机有效性受到了质疑。 加权随机法 获取带有权重的随机数字随机这种东西不能看绝对只能看相对。 IP_Hash算法 hash(object)%N算法通过一种散列算法把请求分配到不同的服务器上。 3.Java代码实现负载均衡五种算法 1.轮询法 /*** Title:轮询* Description:** author Created by Julie* version 1.0* date on 15:49 2017/10/26*/ package com.test.loadbalance;import java.util.*; import java.util.concurrent.ConcurrentHashMap;public class TestRoundRobin {// 1.定义map, key-ip,value-weightstatic MapString,Integer ipMapnew HashMap();static {ipMap.put(192.168.13.1,1);ipMap.put(192.168.13.2,1);ipMap.put(192.168.13.3,1);}// Integer sum0;Integer pos 0;public String RoundRobin(){MapString,Integer ipServerMapnew ConcurrentHashMap();ipServerMap.putAll(ipMap);// 2.取出来key,放到set中SetString ipsetipServerMap.keySet();// 3.set放到list要循环list取出ArrayListString iplistnew ArrayListString();iplist.addAll(ipset);String serverNamenull;// 4.定义一个循环的值如果大于set就从0开始synchronized(pos){if (posipset.size()){pos0;}serverNameiplist.get(pos);//轮询1pos ;}return serverName;}public static void main(String[] args) {TestRoundRobin testRoundRobinnew TestRoundRobin();for (int i0;i10;i){String serverIptestRoundRobin.RoundRobin();System.out.println(serverIp);}}}2.加权轮询法 package com.test.loadbalance;import java.util.*; import java.util.concurrent.ConcurrentHashMap;/*** Title:* Description:加权轮询** author Created by Julie* version 1.0* date on 18:05 2017/10/26*/ public class TestWeightRobin {// 1.map, key-ip,value-weightstatic MapString,Integer ipMapnew HashMap();static {ipMap.put(192.168.13.1,1);ipMap.put(192.168.13.2,2);ipMap.put(192.168.13.3,4);}Integer pos0;public String WeightRobin(){MapString,Integer ipServerMapnew ConcurrentHashMap();ipServerMap.putAll(ipMap);SetString ipSetipServerMap.keySet();IteratorString ipIteratoripSet.iterator();//定义一个list放所有serverArrayListString ipArrayListnew ArrayListString();//循环set根据set中的可以去得知map中的value给list中添加对应数字的server数量while (ipIterator.hasNext()){String serverNameipIterator.next();Integer weightipServerMap.get(serverName);for (int i 0;i weight ;i){ipArrayList.add(serverName);}}String serverNamenull;if (posipArrayList.size()){pos0;}serverNameipArrayList.get(pos);//轮询1pos ;return serverName;}public static void main(String[] args) {TestWeightRobin testWeightRobinnew TestWeightRobin();for (int i 0;i10;i){String servertestWeightRobin.WeightRobin();System.out.println(server);}} }3.随机法 package com.test.loadbalance;import java.util.*; import java.util.concurrent.ConcurrentHashMap;/*** Title:* Description:随机** author Created by Julie* version 1.0* date on 18:25 2017/10/26*/ public class TestRandom {// 1.定义map, key-ip,value-weightstatic MapString,Integer ipMapnew HashMap();static {ipMap.put(192.168.13.1,1);ipMap.put(192.168.13.2,2);ipMap.put(192.168.13.3,4);}public String Random() {MapString,Integer ipServerMapnew ConcurrentHashMap();ipServerMap.putAll(ipMap);SetString ipSetipServerMap.keySet();//定义一个list放所有serverArrayListString ipArrayListnew ArrayListString();ipArrayList.addAll(ipSet);//循环随机数Random randomnew Random();//随机数在list数量中取1-list.sizeint posrandom.nextInt(ipArrayList.size());String serverNameReturn ipArrayList.get(pos);return serverNameReturn;}public static void main(String[] args) {TestRandom testRandomnew TestRandom();for (int i 0;i10;i){String servertestRandom.Random();System.out.println(server);}} }4.加权随机 package com.test.loadbalance;import java.util.*; import java.util.concurrent.ConcurrentHashMap;/*** Title:* Description:加权随机** author Created by Julie* version 1.0* date on 18:42 2017/10/26*/ public class TestRobinRandom {// 1.定义map, key-ip,value-weightstatic MapString,Integer ipMapnew HashMap();static {ipMap.put(192.168.13.1,1);ipMap.put(192.168.13.2,2);ipMap.put(192.168.13.3,4);}public String RobinRandom(){MapString,Integer ipServerMapnew ConcurrentHashMap();ipServerMap.putAll(ipMap);SetString ipSetipServerMap.keySet();IteratorString ipIteratoripSet.iterator();//定义一个list放所有serverArrayListString ipArrayListnew ArrayListString();//循环set根据set中的可以去得知map中的value给list中添加对应数字的server数量while (ipIterator.hasNext()){String serverNameipIterator.next();Integer weightipServerMap.get(serverName);for (int i0;iweight;i){ipArrayList.add(serverName);}}//循环随机数Random randomnew Random();//随机数在list数量中取1-list.sizeint posrandom.nextInt(ipArrayList.size());String serverNameReturn ipArrayList.get(pos);return serverNameReturn;}public static void main(String[] args) {TestRobinRandom testRobinRandomnew TestRobinRandom();for (int i 0;i10;i){String servertestRobinRandom.RobinRandom();System.out.println(server);}} } 5.IP_Hash算法 package com.test.loadbalance;import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap;/*** Title:* Description:** author Created by Julie* version 1.0* date on 18:35 2017/10/26*/ public class ipHash {// 1.定义map, key-ip,value-weightstatic MapString,Integer ipMapnew HashMap();static {ipMap.put(192.168.13.1,1);ipMap.put(192.168.13.2,2);ipMap.put(192.168.13.3,4);}public String ipHash(String clientIP){MapString,Integer ipServerMapnew ConcurrentHashMap();ipServerMap.putAll(ipMap);// 2.取出来key,放到set中SetString ipsetipServerMap.keySet();// 3.set放到list要循环list取出ArrayListString iplistnew ArrayListString();iplist.addAll(ipset);//对ip的hashcode值取余数每次都一样的int hashCodeclientIP.hashCode();int serverListsizeiplist.size();int poshashCode%serverListsize;return iplist.get(pos);}public static void main(String[] args) {ipHash iphashnew ipHash();String servername iphash.ipHash(192.168.21.2);System.out.println(servername);}}
http://wiki.neutronadmin.com/news/238331/

相关文章:

  • 聊城网站定制网页特效代码大全免费
  • 自己的网站 做采集怎么做南京展厅设计装修
  • 用了mip的网站彩虹云主机
  • 网站制作软件安卓版现在都用什么软件做网站
  • 做阿里巴巴网站费用公司制作网站价格表
  • 哪一个网站可以做任务拿佣金seo推广方法有哪些
  • seo织梦网站建设步骤北京西站24小时人工服务电话
  • 做网站是互联网开发吗成都网站建设餐饮
  • 网站建设 迅雷下载盐城seo营销
  • html5 网站模板下载手机网站怎么做的好处
  • 渭南免费做网站公司wordpress怎么编辑
  • 邯郸网站设计建设百度一下点击搜索
  • 长春建站方法海南高端网站建设
  • 为什么网站建设要值班手机百度收录提交入口
  • 中国禹路由网站建设中电子商务网站建设侧重哪几个方面
  • 嘉兴网站建设方案策划免费网站模板之家
  • 爱做网站外国瑞丽住建局网站
  • 北戴河网站建设wordpress做app
  • 温州知名网站福州软件优化网站建设
  • 中小型网站有哪些微信网站推广
  • 中英文网站建设软件设计工具有哪些
  • 网站建设86215西湖网站建设
  • 承德网站制作公司网站建设 趋势
  • apache 建立网站菏泽兼职网站建设
  • 网站建设,从用户角度开始东莞市网站建设制作设计平台
  • 重庆推广网站排名公司最专业的微网站开发
  • 如何修改网站抓取内容电子商务营销理论
  • 关于申请网站建设的报告学院网站建设需求分析
  • 吉安建设局官方网站WordPress清除ID沉余
  • 做网站赚钱一般做什么深网站建设