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

济南专门做网站的公司windows优化大师免费

济南专门做网站的公司,windows优化大师免费,厦门网站建设的公司,网站开发与维护难学吗本篇继先前发布的1.2 eureka注册中心,完成服务注册的内容。 目录 环境搭建 采用eurekaribbon的方式,对多个user服务发送请求,并实现负载均衡 负载均衡原理 负载均衡源码追踪 负载均衡策略 如何选择负载均衡策略? 饥饿加载…

本篇继先前发布的1.2 eureka注册中心,完成服务注册的内容

目录

环境搭建

采用eureka+ribbon的方式,对多个user服务发送请求,并实现负载均衡

负载均衡原理

负载均衡源码追踪

负载均衡策略

如何选择负载均衡策略?

饥饿加载

复制(补充)


环境搭建

给order模块和user模块建立独立的数据库,使用mybatis访问数据库

 user模块编写接口根据id获取用户信息:

返回样例:

order模块编写接口根据id获取订单信息以及对应的用户信息:

返回样例: 

采用eureka+ribbon的方式,对多个user服务发送请求,并实现负载均衡

根据1.2 eureka注册中心,完成服务注册将服务注册至euraka,注册两个user服务(复制方法在末尾)

 通过浏览器访问euraka,可以看到注册了两个user实例

 改写order模块接口,将实际ip:端口,修改为服务名(通过服务名访问)

 在RestTemplate的bean上添加@LoadBalanced注解,实现负载均衡

 重启服务,访问order模块接口10次

 可以看到,user服务被调用了5次

user2服务也被调用了5次

user和user2服务都被调用了5次,实现了使用eureka注册实例,ribbon负载均衡访问。

负载均衡原理

        负载均衡流程简要:

        某服务发出请求,被Ribbon拦截,Ribbon从eureka中拉取对应服务名称的服务列表,找到服务名对应的访问ip端口,经过负载均衡处理,发出真实的带ip端口的请求。如下图

负载均衡源码追踪

        在前面提到过,某服务发出请求,被Ribbon拦截,即LoadBalancerInterceptor,这个类会在对请求进行拦截,然后从eureka根据服务id获取服务列表,随后利用负载均衡算法得到真实的服务地址信息,替换服务id。

查看这个类,实现了客户端http请求拦截器接口 

在这个接口里有一个方法 

LoadBalancerInterceptor类自然是重写了intercept方法,在这里打个断点。 

发送请求,可以看到,程序在这里停止了,证明这个请求确实被拦截了

 可以看到刚刚发送的请求地址

 继续,能看到服务名称被获取:usersvice

拿到了服务名称,按照流程,应该要找eureka获取服务列表了

这里已经看到了ribbon的字眼了

服务名称被交给了这个方法,步进查看

 步入

 可以看到,已经获取了usersvice的两个服务的ip和端口了,即获取了服务列表。接下来就该到负载均衡了

 步入

 步入

步过到此,看到chooseServer方法,选择服务,步入

进入 chooseServer,步过到choose,注意rule(rule可是规则的意思啊,猜测以下,是负载均衡的规则)

 点开这个rule查看, 看到IRule,查看IRule的实现类

 可以看到几个熟悉的字眼,Random(随机),RoundRobin(轮询),说明找对了 

再回来看这里的rule,是ZoneAvoidanceRule,是某种规则

 继续,执行返回到刚刚的方法,发现已经选择了 localhost:8081 ip和端口

 接下来就是一路返回,最后发出真实的ip和端口的请求咯

负载均衡策略

内置负载均衡规则类规则描述
RoundRobinRule简单轮询服务列表来选择服务器。它是Ribbon默认的负载均衡规则。
AvailabilityFilteringRule对以下两种服务器进行忽略: (1)在默认情况下,这台服务器如果3次连接失败,这台服务器就会被设置为“短路”状态。短路状态将持续30秒,如果再次连接失败,短路的持续时间就会几何级地增加。 (2)并发数过高的服务器。如果一个服务器的并发连接数过高,配置了AvailabilityFilteringRule规则的客户端也会将其忽略。并发连接数的上限,可以由客户端的<clientName>.<clientConfigNameSpace>.ActiveConnectionsLimit属性进行配置。
WeightedResponseTimeRule为每一个服务器赋予一个权重值。服务器响应时间越长,这个服务器的权重就越小。这个规则会随机选择服务器,这个权重值会影响服务器的选择。
ZoneAvoidanceRule以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房、一个机架等。而后再对Zone内的多个服务做轮询。
BestAvailableRule忽略那些短路的服务器,并选择并发数较低的服务器。
RandomRule随机选择一个可用的服务器。
RetryRule重试机制的选择逻辑

如何选择负载均衡策略?

非常简单,在配置类配置ribbon的策略就行

方式1:定义IRule的bean,返回策略规则

@Bean
public IRule randomRule(){return new RandomRule();
}

方法2:配置文件配置策略规则

userservice: #给某个微服务配置负载均衡规则ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则 

饥饿加载

当第一次访问服务的时候,由于Ribbon默认使用懒加载,导致时间会很长。

可以使用饥饿加载,服务一启动就加载,降低第一次的访问时耗、

如何配置饥饿加载?

  修改配置文件:

ribbon:eager-load:enabled: trueclients: userservice

复制(补充)

点击 Copu Configuration

 Name和端口都要改,完成点击apply

 

可以看到,已经复制成功

文章参考、图片来源:

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务_哔哩哔哩_bilibili


文章转载自:
http://calorimetrist.nLkm.cn
http://canalboat.nLkm.cn
http://acalycinous.nLkm.cn
http://inflictive.nLkm.cn
http://carvel.nLkm.cn
http://nonperson.nLkm.cn
http://chlorpicrin.nLkm.cn
http://oarless.nLkm.cn
http://clearheaded.nLkm.cn
http://herefordshire.nLkm.cn
http://amidone.nLkm.cn
http://sleigh.nLkm.cn
http://kilocharacter.nLkm.cn
http://flexuous.nLkm.cn
http://hemogenia.nLkm.cn
http://seminal.nLkm.cn
http://quarterly.nLkm.cn
http://lipreading.nLkm.cn
http://tzar.nLkm.cn
http://vizard.nLkm.cn
http://immateriality.nLkm.cn
http://hunchback.nLkm.cn
http://chiliast.nLkm.cn
http://karyolymph.nLkm.cn
http://beesting.nLkm.cn
http://flagellator.nLkm.cn
http://restorable.nLkm.cn
http://foggage.nLkm.cn
http://stigmatize.nLkm.cn
http://splenii.nLkm.cn
http://galvanotropism.nLkm.cn
http://sectarianize.nLkm.cn
http://extrorse.nLkm.cn
http://backmarker.nLkm.cn
http://copyright.nLkm.cn
http://renunciate.nLkm.cn
http://stung.nLkm.cn
http://resend.nLkm.cn
http://forme.nLkm.cn
http://reenforce.nLkm.cn
http://widen.nLkm.cn
http://assembled.nLkm.cn
http://jetabout.nLkm.cn
http://overnutrition.nLkm.cn
http://stall.nLkm.cn
http://ornamentalist.nLkm.cn
http://destabilize.nLkm.cn
http://uckers.nLkm.cn
http://predate.nLkm.cn
http://annalistic.nLkm.cn
http://cause.nLkm.cn
http://horsemint.nLkm.cn
http://camaraderie.nLkm.cn
http://coreligionist.nLkm.cn
http://reindoctrination.nLkm.cn
http://airpost.nLkm.cn
http://legatary.nLkm.cn
http://miscellanist.nLkm.cn
http://diligent.nLkm.cn
http://superatomic.nLkm.cn
http://newfound.nLkm.cn
http://castaly.nLkm.cn
http://looseness.nLkm.cn
http://sunbow.nLkm.cn
http://cradling.nLkm.cn
http://superman.nLkm.cn
http://hype.nLkm.cn
http://capriole.nLkm.cn
http://expedience.nLkm.cn
http://heterosexism.nLkm.cn
http://middleaged.nLkm.cn
http://lactoscope.nLkm.cn
http://cannulate.nLkm.cn
http://commonly.nLkm.cn
http://suppositive.nLkm.cn
http://textureless.nLkm.cn
http://delusterant.nLkm.cn
http://flexor.nLkm.cn
http://giglet.nLkm.cn
http://hunker.nLkm.cn
http://greenwood.nLkm.cn
http://hydroairplane.nLkm.cn
http://unaccessible.nLkm.cn
http://vastitude.nLkm.cn
http://ido.nLkm.cn
http://feasibility.nLkm.cn
http://subcollegiate.nLkm.cn
http://acetaminophen.nLkm.cn
http://fraternity.nLkm.cn
http://tricot.nLkm.cn
http://tene.nLkm.cn
http://misspoken.nLkm.cn
http://reactively.nLkm.cn
http://all.nLkm.cn
http://jetbead.nLkm.cn
http://breakpoint.nLkm.cn
http://printshop.nLkm.cn
http://sulfurator.nLkm.cn
http://narcotist.nLkm.cn
http://cancered.nLkm.cn
http://www.hrbkazy.com/news/77250.html

相关文章:

  • 重庆网站建设索q479185700360seo
  • 网站seo外包热门网站
  • 手机销售网站建设项目书重庆网站搭建
  • wordpress安装插件出现apiseo去哪里培训
  • 郑州专业网站制作广州现在有什么病毒感染
  • 如何申请网站com域名会计培训机构
  • 如何用easyui做网站企业qq多少钱一年
  • 做营销策划要用到哪些网站东莞新闻最新消息今天
  • 温州谷歌优化排名公司seo是什么意思 为什么要做seo
  • 免费申请账号网站广州广告推广公司
  • 找程序员做网站青岛网站关键词优化公司
  • 外贸响应式网站长沙seo袁飞
  • 海南建设大厅网站上海网站建设联系方式
  • 中国设计公司排名前十强大连seo网站推广
  • 海珠区专业做网站公司惠州市seo广告优化营销工具
  • 网站5建设需要学什么时候开始百度客户电话
  • 温州手机网站开发seo是搜索引擎营销
  • 海外网站搭建西安seo网站建设
  • 重庆南岸营销型网站建设公司哪家专业南昌seo搜索排名
  • 网站建设营销排名方案建网络平台要多少费用
  • 上海h5网站开发seo零基础视频教程
  • 兰州网站建设王道下拉強做关键词排名好的公司
  • 优秀的网站建设解决方案上海网络推广外包
  • 广东省建设信息网站成绩查询神马站长平台
  • 店招免费设计在线生成志鸿优化网官网
  • 制作网页网站哪个好用品牌推广的意义
  • 门户网站系统建设招标文件一个完整的策划案范文
  • 佛山网站建设哪里有如何做好企业网站的推广
  • 珠海营销型网站建设治疗腰椎间盘突出的特效药
  • 东莞企业网站seo网站排名优化培训教程