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

遵义网站建设推广绿色商城网站模板

遵义网站建设推广,绿色商城网站模板,做网站必须托管服务器吗,东莞网站建设培训学校前言 本篇实现一下分布式中负载均衡的实现策略#xff0c;以及负载均衡算法是如何实现的。 什么是负载均衡#xff1f; Java负载均衡是指在多台服务器之间分配负载#xff0c;以提高服务器的性能和可用性。它通过将请求分发到多台服务器来减少单个服务器的压力#xff0…前言 本篇实现一下分布式中负载均衡的实现策略以及负载均衡算法是如何实现的。 什么是负载均衡 Java负载均衡是指在多台服务器之间分配负载以提高服务器的性能和可用性。它通过将请求分发到多台服务器来减少单个服务器的压力从而提高系统的性能和可用性。 算法实现 举个例子在hcr-user服务中存在三条集群实例。 每次请求都要请求不同的服务那么就需要有一个全局的计数器来进行计数。 AtomicInteger是concurrent包下的一个原子类。 public class MyTest {private AtomicInteger count new AtomicInteger(0);Testpublic void test() {ListString list new LinkedList();list.add(服务A);list.add(服务B);list.add(服务C);//让原子计数器1并 % 当前服务集合长度 当前请求执行集群的实例//返回实例下标int index count.incrementAndGet() % list.size();//根据集合下标找到当前集群的实例String service list.get(index);System.err.println(service);} }代码实现 1轮询 Component public class RoundLoadBalance implements LoadBalance {Resourceprivate DiscoveryClient client;//创建一个原子类的计数器private AtomicInteger atomicCount new AtomicInteger(0);/*** 使用轮询的方式完成负载均衡算法实现** param serviceId 服务id* return {link ServiceInstance}*/public ServiceInstance getInstances(String serviceId) {//获取到服务的集合集群ListServiceInstance list client.getInstances(serviceId);if (list ! null list.size() 0) {//将当前原子计数器 1incrementAndGet方法相当于i% 服务集合的长度 本次调用服务int index atomicCount.incrementAndGet() % list.size();return list.get(index);}return null;} }2随机 Component public class RandomLoadBalance implements LoadBalance {Resourceprivate DiscoveryClient client;/*** 实现随机算法完成负载均衡** param serviceId 服务id* return {link ServiceInstance}*/public ServiceInstance getInstances(String serviceId) {ListServiceInstance list client.getInstances(serviceId);if (list ! null list.size() 0) {Random random new Random();//随机数值范围0-集合长度例如集合为3那么值的范围就是 0 1 2int index random.nextInt(list.size());return list.get(index);}return null;} }3权重 Component public class WeightLoadBalance implements LoadBalance {Resourceprivate DiscoveryClient client;private AtomicInteger atomicCount new AtomicInteger(0);/*** 使用权重算法实现负载均衡** param serviceId 服务id* return {link ServiceInstance}*/public ServiceInstance getInstances(String serviceId) {//通过服务名称获取到服务集群实例ListServiceInstance list client.getInstances(serviceId);if (list ! null list.size() 0) {ListServiceInstance total new LinkedListServiceInstance();for (ServiceInstance instance : list) {//获取到nacos中服务配置的权重Double weight Double.parseDouble(instance.getMetadata().get(nacos.weight));for (int i 0; i weight; i) {//对权重的大小进行循环比对,将服务实例添加到新的集合中。//权重越小循环越少集合中该服务就越少//权重越大循环越多集合中该服务就越多total.add(instance);}}//将新的集合与计数器进行计算获取到服务下标int index atomicCount.incrementAndGet() % total.size();return total.get(index);}return null;} }总结 这篇只是了解一下负载均衡的算法是如何实现的在平常使用的话feign里已经实现了负载均衡策略所以不需要我们手动去撸代码实现。
http://www.hkea.cn/news/14263501/

相关文章:

  • dedecms做微网站seo整站如何优化
  • 嘉兴网站广优化公司网站内容建设的原则是什么意思
  • 打开一个网站有哪些做汽配的网站
  • 南昌网站建设q479185700惠怎么给自己做一个网页
  • 西安微网站制作淘宝买网站开发不行吗
  • 网站开发的相关语言有哪些wordpress主题 胖子马
  • 网页设计与网站开发教程在线做效果图有哪些网站
  • 四川省住房与建设厅网站做网站的空间
  • 广南网站制作做外贸哪个网站比较好2017
  • 我们公司在做网站推广建设银行网上银行网站进入不了
  • 东明菏泽网站建设ppt怎么制作教程
  • 那些视频网站能用来直接做hrefwordpress汉化安装
  • 网站只做程序员青岛建站培训
  • 北京网站建设学习骏域网站
  • 广西电力工程建设有限公司网站如何做网页广告链接
  • 国内网页做的好看的网站企业网站建设cms系统
  • 网站文章快速被收录科技网站制作案例
  • 重庆餐饮网站建设wordpress没有评论框
  • 网站放到云服务器上怎么做服务器网站怎么做
  • 写作网站virwordpress+插件+卡券
  • 黄冈网站推广软件视频php购物网站设计代码
  • 重庆网站建设费用网站代码开发定制
  • 青色网站欣赏一个人完成网站建设
  • 国企公司网站制作展示型网站建设公司
  • 河南省重点项目建设网站网站如何做静态化
  • 模板网站是什么意思软件外包培训学院
  • 汕尾英文网站建设网站开发团队名字
  • 南昌网站关键词排名长沙线上注册推广公司
  • 素材网站视频知名网站制作公
  • 从化市网站建设建个人网站有什么好处