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

保定网站优化哪家好做html的软件

保定网站优化哪家好,做html的软件,有网站教做水电资料吗,wordpress文章无法中文自己定制负载均衡常见策略 一、前言随机#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.zqtcl.cn/news/730667/

相关文章:

  • 企业型网站怎么做域名邮箱和域名网站
  • 建设银行激活网站站长工具seo综合查询 分析
  • 如何把自己做的网站发布到网上洛阳网新闻中心
  • 新手建网站教程id注册
  • 华为官方手表网站成都网站优化外包
  • 杭州企业排行榜网站优化包括对什么优化
  • 北京模板网站开发全包做网站网络
  • 甘肃建设项目审批权限网站wordpress插件移植
  • 网站开发沟通网站推广关键词工具
  • 河南微网站开发建程网的工程好拿钱吗
  • 怎么设立网站北京市网站备案
  • 网站容量空间一般要多大建设网上银行查询
  • 前端网站模板市场营销推广方案
  • 企业做网站收费做网页的
  • 网站内容创意网站开发后台php技术
  • 做下载网站用阿里云的什么产品goland 网站开发
  • 湖州网站建设策划学编程软件
  • 龙华网站建设专业定制企业外贸网店怎么开
  • 申请网站做自己的产品做头像一个字的网站
  • 外贸网站建设行业发展情况北京 企业网站开发
  • dedecms 倒计时 天数 网站首页创业众筹平台
  • 隆尧建设局网站wordpress彻底禁用google
  • 自己做网站需要什么技能比邻店网站开发
  • 网站建设杭州最便宜劳务公司找项目平台
  • jsp做网站毕业设计安徽省交通运输厅章义
  • 企业网站有哪几个类型广州做网站市场
  • 直播网站建设开发上海注册公司多少钱
  • 可以兼职做设计的网站备案期间能否做网站解析
  • 做发帖的网站代码seo联盟平台
  • 铁威马 Nas 做网站百度广告代运营