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

安徽芜湖网站建设网站开发专业培训学校

安徽芜湖网站建设,网站开发专业培训学校,网站怎么做qq的授权登陆,wordpress style不更新ribbonribbon conceptribbon核心组件IRule模仿源码重写轮询ribbon concept spring cloud ribbon 是基于Netflix ribbon实现的一套客户端负载均衡的工具。 简单的说#xff0c; Ribbon是Netflix发布的开源项目#xff0c; 主要功能是提供客户端的软件负载均衡算法和服务 完善的… ribbonribbon conceptribbon核心组件IRule模仿源码重写轮询ribbon concept spring cloud ribbon 是基于Netflix ribbon实现的一套客户端负载均衡的工具。 简单的说 Ribbon是Netflix发布的开源项目 主要功能是提供客户端的软件负载均衡算法和服务 完善的配置项如连接超时重试等。简单的说就是在配置文件中列出Load Balancer (简称LB), 助你基于某种规则(如简单轮询,随机连接等)去连接这些机器。 目前进入维护模式替代品spring cloud loadBalance. restTemplate api https://docs.spring.io/spring-framework/docs/5.2.2.RELEASE/javadoc-api/org/springframework/web/client/RestTemplate.html getObject, getEntity postObject, postEntity负载均衡 LB负载均衡(Load Balance)是什么 简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA (高可用)。 常见的负载均衡有软件Nginx, LVS,硬件F5等。 Ribbon本地负载均衡客户端VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。 Ribbon本地负载均衡在调用微服务接口时候会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技术。 负载均衡RestTemplate调用。 ribbon核心组件IRule ribbon客户端负载均衡接口及实现类 接口以及子类 算法实现 替换默认的轮询算法, 使用随机 package top.bitqian.rule; // 不要同mainBoot一个目录import com.netflix.loadbalancer.IRule; import com.netflix.loadbalancer.RandomRule; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** 自定义ribbon 负载均衡规则代替默认轮询规则* author echo lovely* date 2020/12/6 17:34*/Configuration public class SelfRule {Beanpublic IRule getIRule() {// 随机return new RandomRule();}} 然后主启动类添加RibbonClient注解。 模仿源码重写轮询 负载均衡算法原理 rest接口的第几次请求数%服务器集群总数量 实际服务调用服务器的下标。 每次重启服务后rest接口从1开始。接口 package top.bitqian.springcloud.lb;import org.springframework.cloud.client.ServiceInstance;import java.util.List;/*** 负载均衡 接口-- 轮询~*/ public interface LoadBalance {/*** 根据可用的服务实例列表 轮询获取某个实例~* param serviceInstanceList 可用服务实例列表* return 轮询后的某个服务实例~*/ServiceInstance getInstance(ListServiceInstance serviceInstanceList);} 实现 package top.bitqian.springcloud.lb.impl;import org.springframework.cloud.client.ServiceInstance; import org.springframework.stereotype.Component; import top.bitqian.springcloud.lb.LoadBalance;import java.util.List; import java.util.concurrent.atomic.AtomicInteger;/*** 仿照源码写轮询算法* author echo lovely* date 2020/12/8 20:37*/Component public class MyLoadBalance implements LoadBalance {// init 0private final AtomicInteger atomicInteger new AtomicInteger(0);public final int getAndIncrease() {int current;int next;do {current this.atomicInteger.get();next current 2147483647 ? 0 : current 1;} while (!this.atomicInteger.compareAndSet(current, next)); // 期望值修改值System.out.println(the next value ----- next);return next;}Overridepublic ServiceInstance getInstance(ListServiceInstance serviceInstanceList) { // 机器列表// 得到服务器的下标位置int index getAndIncrease() % serviceInstanceList.size();return serviceInstanceList.get(index);} } controller // 测试手写的轮询算法~GetMapping(/consumer/payment/lb)public String getPaymentByLb() {// 根据服务名获取服务列表ListServiceInstance serviceInstanceList discoveryClient.getInstances(CLOUD-PAYMENT-SERVICE);// 1 2, 1 2, 1 2, 获取服务~ServiceInstance instance myLb.getInstance(serviceInstanceList);URI uri instance.getUri();return restTemplate.getForObject(uri /payment/lb, String.class);}
http://www.yutouwan.com/news/358327/

相关文章:

  • 网站精美排版代码wordpress 弹窗代码
  • 品牌网站建设 蝌蚪5小常州网站排名推广
  • 学做网站看什么个人主页源码下载
  • 做网络竞拍的网站南昌百度网站快速排名
  • 做一个中文域名购物网站要多少钱新闻发布平台
  • 网站展示怎么做电子政务网站建设背景
  • 打开网站文件夹权限设置儋州网站设计公司
  • 建设工程质量监督站网站网站建设交互效果
  • 如何搭建一个购物网站界面设计证书
  • 网站方案策划书重庆网站推广优化
  • 主机屋网站北京朝林建设集团网站
  • 2003网站建设浏览器登录入口
  • 成都网站建设 木木科技做网站需要哪些技术人员
  • 网站建设培训西安现代简约装修
  • 做开箱的网站建设银行网站入口
  • 用html5做的网站过程大型视频网站开发
  • 做网站的需要什么要求软件开发模型有哪些各有什么特点
  • 重庆网站建设沛宣网络如何做好线上销售
  • vs2012建设空网站网站建设需要具备哪些
  • 备案ip 查询网站查询网站查询系统泉州网站搭建
  • 网站建设定做做空山寨币的网站
  • 免费网站模版晋城做网站的
  • 专做情侣装网站千图网素材免费下载
  • 厚街镇网站仿做wordpress怎样用
  • 门户站模板wordpress默认页面
  • 广州市网站建设 骏域吉林有做网站的吗
  • 做搜狗手机网站快php做网站 价格
  • 谷歌外贸建站网站建设 东道网络
  • 德州商城网站建设wordpress查看访问
  • 健身网站建设哪些网站使用wordpress