做房地产资质是什么网站查,店铺设计效果图店面,门店装修设计公司,新手网站建设目录 一、负载均衡流程
1、我通过浏览器直接访问userservice/user/1#xff0c;无法访问#xff0c;说明是负载均衡做了相应的处理 2、我们来看一下代码中负载均衡的流程是怎样的
3、图像流程
二、负载均衡策略
1、修改负载均衡策略
#xff08;方式一#xff09;
无法访问说明是负载均衡做了相应的处理 2、我们来看一下代码中负载均衡的流程是怎样的
3、图像流程
二、负载均衡策略
1、修改负载均衡策略
方式一
方式二
2、两种方式的区别
三、饥饿加载
1、测试
1将order重启
2发送http请求发现用时为400ms
3再次发送请求用时为66ms
4这是因为默认为懒加载
5修改为饥饿加载
四、总结 一、负载均衡流程 1、我通过浏览器直接访问userservice/user/1无法访问说明是负载均衡做了相应的处理 2、我们来看一下代码中负载均衡的流程是怎样的
1.我们找到LoadBalancerInterceptor发现它实现了一个接口ClientHttpRequestInterceptor 2.进入接口查看 根据翻译来看这是一个请求拦截器接口 3.通过断点的方式我们查看一下拦截之后发生了什么 4.将orderservice设置在调试模式下运行 5.通过浏览器发起请求 6.进入断点 7.往下走看到url为刚才我无法访问的地址 8.继续执行它将主机名获取到了 9.并且交给了RibbonLoadBalancerClient的对象去执行 10.我们步入此断点
发现它通过serviceId创建了一个loadBalancer对象 11.观察此对象发现它成功拉取到了服务地址
所以它通过serviceId服务名称userservice拿到了服务地址 12.既然拿到了地址那是怎么进行负载均衡的呢我们继续步入
可以看到它调用了父类的方法 步入方法它现在又调用了一个rule的对象 而对象中有这么几个类分别为
轮询随机重试 13.它默认的规则是轮询所以我们拿到了地址端口8081 14.然后将服务名改为拿到的server就可以访问了
3、图像流程 order-service发起请求请求被拦截器拦截了并交给了负载均衡客户端客户端通过url获取到服务名称并发送给负载均衡动态服务列表这个动态服务列表使用服务名像eureka拉取服务列表通过负载均衡规则选择一个服务返回给客户端客户端根据服务地址修改url发起请求访问服务
二、负载均衡策略 1、修改负载均衡策略
方式一
只需要在OrderApplication中加入
Beanpublic IRule randomRule(){return new RandomRule();}
将负载均衡规则由默认的轮询更改为了随机 方式二
修改yml 2、两种方式的区别 方式一是全部服务都采取随机方式二是只有userservice采取随机 三、饥饿加载
1、测试
1将order重启 2发送http请求发现用时为400ms 3再次发送请求用时为66ms 4这是因为默认为懒加载
Ribbon默认是采用懒加载即第一次访问时才会去创建LoadBalanceClient请求时间会很长。
5修改为饥饿加载
而饥饿加载则会在项目启动时创建降低第一次访问的耗时通过下面配置开启饥饿加载
ribbon:eager-load:enabled: trueclients: userservice
四、总结