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

企业网站怎么制作流程泰兴市城乡住房建设局网站

企业网站怎么制作流程,泰兴市城乡住房建设局网站,湛江cms模板建站,网站备案中 解析地址自己定制负载均衡常见策略 一、前言随机#xff08;Random#xff09;策略的实现轮询#xff08;Round Robin#xff09;策略的实现哈希#xff08;Hash#xff09;策略 一、前言 大伙肯定知道#xff0c;在分布式开发中#xff0c;目前使用较多的注册中心有以下几个Random策略的实现轮询Round Robin策略的实现哈希Hash策略 一、前言 大伙肯定知道在分布式开发中目前使用较多的注册中心有以下几个 Apache ZookeeperNetflix EurekaAlibaba Nacos 由于 Zookeeper 在面对高频次的服务注册和发现操作可能会一定的性能损耗等原因搞得现在好多人都不用 Zookeeper 当做注册中心了。但它也提供了强一致性和高可靠性的特性也没有被淘汰。 Zookeeper 本身并没有提供现成的服务发现功能它更专注于分布式协调的能力。所以在使用 Zookeeper 作为注册中心时需要自己在客户端实现服务的发现和负载均衡的逻辑。当然也可以去整合相关组件简化开发过程。 常见的负载均衡有以下三种 随机random策略轮询round robin策略哈希hash策略 下面的话以寻注册中心的服务地址的需求来去对三种策略进行实现。 // 这是对应的策略接口 public interface RouteHandle {// 参数1服务地址集合// 参数2对应的key我这里使用的是userId这个结合自身项目需求String routeServer(ListString values, String key);}随机Random策略的实现 /*** 随机的负载均衡*/ public class RandomHandle implements RouteHandle {Overridepublic String routeServer(ListString values, String key) {int size values.size();if (size 0) {throw new ApplicationException(UserErrorCode.SERVER_NOT_AVAILABLE);}// 去获取一个小于size的索引值// 你可以简单理解随机整型数sizeint index ThreadLocalRandom.current().nextInt(size);return values.get(index);} }轮询Round Robin策略的实现 轮询策略即将请求次数和总的服务树取模然后得出索引去得到服务信息。 /*** 轮询策略*/ public class LoopHandle implements RouteHandle {private AtomicLong index new AtomicLong();Overridepublic String routeServer(ListString values, String key) {int size values.size();if (size 0) {throw new ApplicationException(UserErrorCode.SERVER_NOT_AVAILABLE);}Long l index.incrementAndGet() % size;if (l 0) {index.set(0L);l 0L;}return values.get(l.intValue());} }哈希Hash策略 这里指的 Hash 策略一般指的是一次性 Hash 算法实现的策略。传统的 hash 在添加或删除一个节点的时候会出现缓存失效失效缓存比例为m/(m1)传统hash一般是将资源的 hashcode % table.size()服务数得到节点索引然后将访问服务这样的话当增加一个节点的时候除了hashcode为1的时候其对应的服务不变其他都缓存失效0就不算它了近似的一个值吧也就是近于缓存失效比例为 m/m1。 传统的hash造成的缓存失效很容易就把服务给搞蹦了因为有大量资源访问不到的请求嘛。 然后就有了一致性hash算法它将映射集合规定为0~2^32-1的范围的环首尾相连。 将节点放到注册到环中然后根据资源的hash去顺时针寻其节点服务。 注意当注册节点的时候也有可能会出现hash偏斜问题即节点都被放到了环的一边使得资源大部分都使用的是俩边的节点这个时候我们需要将每个服务节点设置一些虚拟节点注册到环上这样的话每个服务节点近似均衡的分配给资源了。 这里参考的文献 一致性hash算法讲解——Java实现 下面对 hash 策略进行实现下面是使用 TreeMap 对一次性hash算法进行实现的这是因为它底层是使用 红黑树 进行实现的有序且添加起来比起平衡二叉树这样的不用老左旋右旋。主要是因为有序对闭环的顺时针有序选节点是一致的所以用 TreeMap 实现它比较多。当然也可以自身定义策略去实现。 /*** 使用 TreeMap 实现一致性hash*/ public class TreeMapConsistentHash extends AbstractConsistentHash {private TreeMapLong, String treeMap new TreeMap();private static final int NODE_SIZE 2; // 每个节点再注册虚拟节点的数量Overrideprotected void add(long key, String value) {for (int i 0; i NODE_SIZE; i) {treeMap.put(super.hash(node key i), value);}treeMap.put(key, value);}Overrideprotected String getFirstNodeValue(String value) {Long hash super.hash(value);SortedMapLong, String last treeMap.tailMap(hash);if(!last.isEmpty()){return last.get(last.firstKey());}if(treeMap.size() 0){throw new ApplicationException(UserErrorCode.SERVER_NOT_AVAILABLE);}return treeMap.firstEntry().getValue();}Overrideprotected void processBefore() {treeMap.clear(); // 清空是因为可能出现添加或删除服务的现象} }重点就是 add 和 getFirstNodeValue 方法至于父类其他方法的实现不影响理解这个策略。
http://www.dnsts.com.cn/news/221360.html

相关文章:

  • 网站域名在哪买网站建设大概费用
  • 企业网站建设制作多少钱自助建站自媒体
  • 包头网站建设公司哪家好访问网站有音乐背景怎么做
  • 网站不备案会怎么样怎么做自己的网站自建一个页面
  • 南海区住房和城乡建设部网站怎么做招聘有哪些网站
  • 网文网站排名阿里云个人网站备案做淘客
  • 网站当电话线软件工程师招聘简章
  • 页面好看的教育类网站模板下载代做电子商务网站作业
  • 网站配色方法职教集团网站建设方案
  • 百度推广与做网站推广的区别免费网站怎么建
  • 百度网站地图生成器阜阳网站建设价格
  • 微信网站搭建wordpress 会员 返佣
  • 商城网站建设预算要多少钱柳市网站推广
  • 企业网站seo网址网站开发我嵌入式开发
  • 平顶山建站公司桂林最近发生的重大新闻
  • 网站建设费用兴田德润团队做哪种网站流量上的快
  • 建免费的网站吗设计师逛的网站
  • 网站建设及维护招聘浙江省电子商务网站建设
  • 网站数据库设置权限模仿图库网站开发
  • 移动网站开发培训百度文库账号登录入口
  • 网站建设 搜狐号网站access数据怎么做
  • 柳州正规网站制作公司哪家好宽带收费价格
  • 保定哪家做网站专业汕头网络推广哪里找
  • 哪个网站可以做危险化学品供求代码解决wordpress不能发邮件
  • 企业营销网站案例汽车类网站设计规划
  • 做网站用源码学动漫设计好就业吗
  • 网站源码com大全做接口自动化是网站登录加密
  • php项目网站建设方案书个人备案的公司网站
  • 永嘉高端网站建设效果深圳做营销网站的公司哪家好
  • 网站的站点地图设计简历帮忙制作