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

建论坛网站多少钱东莞seo服务商

建论坛网站多少钱,东莞seo服务商,潍坊网站的优化,微网站平台目录 一、前言 二、源码分析 三、负载均衡策略 一、前言 如下图#xff0c;我们在 orderserver 中通过 restTemplate 向 usersever 发起 http 请求#xff0c;在服务拉取的时候#xff0c;主机名 localhost 是用服务名 userserver 代替的#xff0c;那么该 url 是一个可…目录 一、前言 二、源码分析 三、负载均衡策略 一、前言 如下图我们在 orderserver 中通过 restTemplate 向 usersever 发起 http 请求在服务拉取的时候主机名 localhost 是用服务名 userserver 代替的那么该 url 是一个可访问的网络地址吗 我们在浏览器中访问一下这个地址果然不可用。 那么它又是怎么访问到 userserver 数据的别忘了我们的服务都是注册在 Eureka 上的那肯定是拿着服务名去找 Eureka 要人了对不对找到服务之后把具体的主机名替换掉就OK了。 实际上我们可能有多个 userserver 同时注册在 Eureka 上这时候 orderserver 要去 Eureka 上拉取服务的时候拉取到的就不只是一个 userserver 服务了它应该是一个服务列表那么最终执行的时候肯定是只交给一个服务去做到底要交给谁呢没错这就是我们本篇要说的 —— Ribbon用它来实现多服务的负载均衡。 二、源码分析 上一篇文章中提到了 LoadBalanced 注解我们说用它可以开启负载均衡。这个注解其实就是一个标记标记 RestTemplate 发起的请求要被 Ribbon 拦截并处理。 那个这个拦截动作具体是谁来做的呢Ctrl Shift N搜索 LoadBalancerInterceptor点击第一个。 我们可以打断点 debug可以看到 request.getURI() 这一步是在获取请求路径也就是我们上面说的那个不可用的 url。 F8 快捷键下一步originalUri.getHost() 应该就是在获取主机名获取到的 host 正是 userserver。 拿到了主机名就该去找 Eureka 拉取服务了继续往下走发现它把该服务名称交给了 loadBalancer.execute 去执行F7 跟进该方法。 服务列表拿到之后就准备负载均衡了F7 进入方法内部我们发现它调用了 chooseServer 方法翻译一下选择服务。从刚才拉取到的服务列表中选择一个出来 继续 F7 进入 chooseServer 方法可以看到它又去调用父类的 chooseServer 方法了。 跟进方法往下走返回一个 rule.choose翻译一下选择规则。说明我们从服务列表中选择一个服务的时候也是有规则的。 光标放到 rule 上Ctrl 加鼠标左键跟进它原来是一个 IRule 类型的。 那么这个 IRule 接口有哪些具体的 Rule 呢光标放在 IRule 上Ctrl H弹出它的实现类。翻译一下有随机规则、轮询规则等等。 拿到了真实的访问地址并且选择了一种负载均衡策略就可以对之前不可访问的 url 进行替换了。 整体流程 orderserver 发起 http 请求 → 请求被 LoadBalancerInterceptor 负载均衡拦截器拦截 → RibbonLoadBalancerClient 拿到服务名并将其作为参数传给 DynamicServerListLoadBalancer → DynamicServerListLoadBalancer 就会去 Eureka 中拉取服务列表 → 随后 DynamicServerListLoadBalancer 又会去请求 IRule 接口做负载均衡根据规则挑一个服务出来并返回 → RibbonLoadBalancerClient 拿到了真实的服务地址就会对之前不可访问的 url 地址进行替换最终请求到目标服务。 三、负载均衡策略 如下图每一个子接口都是一种规则 默认是的负载均衡策略是 ZoneAvoidanceRule它父类的父类是轮询的所以本质上讲 ZoneAvoidanceRule 也是一个轮询策略但是它是以 Zone 对服务器进行划分的这个 Zone 可以理解为一个机房所以在选择服务的时候它会优先选择跟自己在同一个机房里面的服务然后进行轮询。 那么如何修改负载均衡规则呢有两种方式。 ① 代码方式在 orderserver 的启动类中定义一个新的 IRule作用于全局 Bean public IRule randomRule() {return new RandomRule(); } ② 配置文件方式在 orderserver 的 yml 文件中添加新的配置只针对某个微服务而言 Ribbon 的默认加载机制是懒加载所谓懒加载就是不用的时候不加载什么时候要用了才去加载所以服务在第一次被访问的时候速度较慢由于 Ribbon 给我们提供了缓存所以之后的访问速度还是很快的。 相对于懒加载的是饥饿加载顾名思义饥饿加载就是在项目一启动的时候就开始加载所以它的每一次访问速度都很快。那么如何修改 Ribbon 的加载方式呢我们可以通过配置文件的方式进行修改。
http://www.hkea.cn/news/14329082/

相关文章:

  • 淮南市城乡建设局网站阿里 网站建设
  • 哪里有免费的网站网址文章响应式网站
  • 台州网站建设平台国外的网页制作网站
  • 网站建设需求分析流程图多媒体展厅公司
  • 红酒专业网站建设北京青鸟培训机构哪家是正规的
  • 如何做网站答题领红包链接石家庄区号
  • 金融企业网站建设公司上海市建上海市建设安全协会网站
  • led灯散热片技术支持 东莞网站建设Wordpress获取自定义分类
  • 磁业 东莞网站建设福步外贸论坛app下载
  • 哪家做网站做得好创客贴网页设计网站
  • 潍坊网站优化公司哪家好佛山网站开发公司电话
  • soho怎么做网站win7局域网网站开发
  • 江苏盐城有做淘宝网站的吗网站哪家做得好
  • 做带支付平台的网站音乐网站用什么语言做
  • 广东外贸网站建设企业专业苏州房产网站建设
  • 网站维护员工作内容qq邮箱网页版登录
  • 深圳龙华公司分类目录seo wordpress
  • 网站seo案例企业网站包含哪些页面
  • 宁波网站建站公司修改新wordpress密码
  • 义乌市做网站vps被攻击网站打不开ping值高
  • 公司网站制作费用某网站自己做中性笔
  • 网站推广方案有哪些网站建设公司有
  • 门窗厂家东莞网站建设广州网站推广电话
  • 手机网站怎么制作软件用户ui设计培训
  • 合川集团网站建设网站开发挣钱吗
  • 宣讲家网站支部建设php网页模板
  • 东铁匠营网站建设公司做网站工作的怎么填职务
  • 网站如何做seo优化教程保定网站建设制作
  • 平湖城乡规划建设局网站局域网做网站
  • 电商网站开发背景怎么写网络交易平台