<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springcloud~ LoadBalancer

      前言

      由于 Netflix Ribbon 進(jìn)入停更維護(hù)階段,因此 SpringCloud 2020.0.1 版本之后 刪除了eureka中的ribbon,替代ribbon的是spring cloud自帶的LoadBalancer,默認(rèn)使用的是輪詢的方式,新版本的 Nacos discovery 都已經(jīng)移除了 Ribbon ,此時(shí)我們需要引入loadbalancer代替,才能調(diào)用服務(wù)提供者提供的服務(wù)。

      Spring Cloud全家桶在Spring Cloud Commons項(xiàng)目中,添加了Spring cloud Loadbalancer作為新的負(fù)載均衡器,并且做了向前兼容,就算你的項(xiàng)目中繼續(xù)用 Spring Cloud Netflix 套裝(包括Ribbon,Eureka,Zuul,Hystrix等等)讓你的項(xiàng)目中有這些依賴,你也可以通過(guò)簡(jiǎn)單的配置,把ribbon替換成Spring Cloud LoadBalancer。

      均衡負(fù)載

      • 大概就是兩種:網(wǎng)關(guān)層均衡負(fù)載和客戶端層均衡負(fù)載
      • 網(wǎng)關(guān)層想我之前公司有用的F5,就是在網(wǎng)管層做均衡負(fù)載,就是你只管請(qǐng)求我,我來(lái)負(fù)責(zé)維護(hù)服務(wù)地址列表,你也不需要搞什么服務(wù)發(fā)現(xiàn)這些。(壞處是涉及到網(wǎng)關(guān)層維護(hù),網(wǎng)絡(luò)消耗和復(fù)雜度維護(hù)角度不簡(jiǎn)單)
      • 客戶端層就好比我們這個(gè)LoadBalancer,就是我作為一個(gè)客戶端我自己去不斷去發(fā)現(xiàn)更新維護(hù)自己的一套服務(wù)列表,我自己去定義服務(wù)的均衡負(fù)載策略,不管是隨機(jī)還是計(jì)數(shù)甚至可以搞小流量的金絲雀

      客戶端負(fù)載均衡組件

      架構(gòu)設(shè)計(jì)

      • 默認(rèn)使用BlockingLoadBalancerClient來(lái)實(shí)現(xiàn),也可以自己去定義,不建議再使用ribbon了。

      兩種負(fù)載算法

      目前 SpringCloud LoadBalance 僅支持兩種負(fù)載均衡策略:【輪詢策略】和【隨機(jī)策略】,默認(rèn)是輪詢策略。

      隨機(jī)策略的使用

      • 首先需要定義隨機(jī)的算法對(duì)象,并通過(guò) @Bean 將其加載到 Spring 容器中,具體如下:
      public class RandomLoadBalancerConfig {
      
          @Bean
          ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(
                  Environment environment, LoadBalancerClientFactory loadBalancerClientFactory) {
      
              String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);
              return new RandomLoadBalancer(loadBalancerClientFactory
                      .getLazyProvider(name, ServiceInstanceListSupplier.class), name);
          }
      }
      
      • 然后在@LoadBalancerClient 或 @LoadBalancerClients 注解,針對(duì)具體服務(wù)配置具體的客戶端負(fù)載均衡算法策略。
      @LoadBalancerClient(name = "PROVIDER-APP", configuration = RandomLoadBalancerConfig.class)
      @Configuration
      public class RestTemplateConfig {
      
          @LoadBalanced
          @Bean
          public RestTemplate restTemplate() {
              return new RestTemplate();
          }
      }
      

      相關(guān)配置

      spring:
        cloud:
          loadbalancer:
            health-check:
              initial-delay: 1s
            clients:
              myclient:
                health-check:
                  interval: 30s
      

      上面的例子將合成一個(gè)@ConfigurationProperties的對(duì)象并且設(shè)置了initial-dalay=1s和interval=30s。

      • 大多數(shù)client屬性可以單獨(dú)配置,除了以下的全局配置:
      spring.cloud.loadbalancer.enabled:全局啟用/關(guān)閉load-balancingspring.cloud.loadbalancer.retry.enabled:全局啟用/關(guān)閉load-balancing重試機(jī)制,如果全局啟用了它,仍然可以在單獨(dú)的client屬性中配置來(lái)關(guān)閉它。spring.cloud.loadbalancer.cache.enabled:全局啟用/關(guān)閉load-balancing緩存,如果全局啟用了它,仍然可以通過(guò)創(chuàng)建自定義配置(在ServiceInstanceListSupplier委托層級(jí)中不包含CachingServiceInstanceListSupplier)來(lái)關(guān)閉它。spring.cloud.loadbalancer.stats.micrometer.enabled:全局啟用/關(guān)閉LoadBalancer Micrometer metrics。
      

      幾個(gè)注解

      • @LoadBalanced

      使用@LoadBalanced注解描述RestTemplate對(duì)象時(shí),系統(tǒng)底層在基于RestTemplate進(jìn)行遠(yuǎn)程服務(wù)調(diào)用時(shí),會(huì)被一個(gè)攔截器(LoadBalancerInterceptor)攔截到,然后進(jìn)行功能增強(qiáng),這里的功能增強(qiáng)指的是,基于loadBalancerClient對(duì)象進(jìn)行服務(wù)實(shí)例獲取,而這個(gè)服務(wù)實(shí)例獲取的過(guò)程,底層會(huì)采用負(fù)載均衡。

      • @EnableFeignClients

      用于描述一些配置類,告訴系統(tǒng)底層啟動(dòng)時(shí)為@FeignClient注解描述的接口創(chuàng)建實(shí)現(xiàn)類及對(duì)象,然后交給Spring管理

      • @FeignClient

      @FeignClient 注解告訴Feign Starter,在項(xiàng)目啟動(dòng)時(shí),為此注解描述的接口創(chuàng)建實(shí)現(xiàn)類-代理類,用于描述遠(yuǎn)程服務(wù)調(diào)用接口,其value屬性值有兩個(gè)層面的含義:
      1.你要調(diào)用的遠(yuǎn)程服務(wù)名
      2.當(dāng)前bean的名字,假如不使用這個(gè)名字還可以使用contextId指定bean的名字

      OpenFeign

      • OpenFeign 同時(shí)集成了 Spring Cloud LoadBalancer 和 Spring Cloud CircuitBreaker,提供負(fù)載均衡和熔斷降級(jí)的功能。
      • Feign 默認(rèn)的負(fù)載均衡策略是輪詢調(diào)用。
      posted @ 2023-05-05 09:16  張占嶺  閱讀(634)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品高清视亚洲乱码| 少妇激情一区二区三区视频小说| 蜜桃av亚洲精品一区二区| 美乳丰满人妻无码视频| 国产精品538一区二区在线| 亚洲成a人片在线观看中| 国产精品呻吟一区二区三区| 青青青青国产免费线在线观看| 亚洲色一色噜一噜噜噜| 麻豆天美国产一区在线播放| 亚洲最大成人免费av| 少妇高潮喷水在线观看| 激情偷乱人成视频在线观看| 老司机免费的精品视频| 欧美日韩不卡合集视频| 久久久久四虎精品免费入口| 国产激情一区二区三区四区| 国产99视频精品免费视频6| 最新的国产成人精品2020| 最新亚洲人成网站在线观看| 人妻系列中文字幕精品| 久久精品不卡一区二区| 日本一卡2卡3卡四卡精品网站| 伊人久久大香线蕉AV网禁呦| 嘉义市| 美女一区二区三区亚洲麻豆| 亚洲www永久成人网站| 亚洲精品久久久久国产| 国产稚嫩高中生呻吟激情在线视频| 91中文字幕一区在线| 亚洲最大成人在线播放| 蜜臀av入口一区二区三区| 亚洲成人av在线系列| 鲁大师在线视频播放免费观看| 日韩亚洲精品国产第二页| 国产视频有码字幕一区二区| 亚洲国产欧美在线人成AAAA| 性XXXX视频播放免费直播| 亚洲大尺度一区二区av| 精品乱人伦一区二区三区| 国产高清乱码又大又圆|