<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                2021-12-14 周二 ## Ribbon介紹 Ribbon是Netfix發布的負載均衡器。 為Ribbon配置服務提供者地址后,基于負載均衡算法(內置輪詢,隨機等),自動幫消費者去請求。 ## 集成Ribbon 注意本文使用的版本: ``` xml <spring-cloud.version>Hoxton.SR10</spring-cloud.version> <spring-boot-version>2.2.7.RELEASE</spring-boot-version> ``` 前提是注冊中心用的Eureka。 ### 1.Eureka Client添加依賴 不用添加依賴,因為在eureka-client依賴里默認就集成了Ribbon。(你可以點進eureka-client的依賴內,找到如下依賴關系) ![](https://img.kancloud.cn/b5/fd/b5fd454e7ebd1e2e85881185451b7b39_2180x1276.png) ### 2.為`RestTemplate`添加`@LoadBalanced`注解 ``` java @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } ``` ### 3.Controller中使用`RestTemplate`請求微服務地址 ``` java @Autowired private RestTemplate restTemplate; @GetMapping("/cardRand") public Result cardRand(){ ResultObject<CardVo> result = (ResultObject<CardVo>) restTemplate.getForObject( "http://mic-card/card/admin/card/rand", ResultObject.class ); return result; } ``` ### 4.驗證 啟動2個`mic-card`微服務的提供者,一邊刷新瀏覽器請求,一邊查看日志控制臺輸出。 能看到2個控制臺均有日志輸出,則說明微服務提供者已經有負載均衡了。 ![](https://img.kancloud.cn/ce/21/ce214d4d675c3864df935b41452a9e8b_1760x500.png) ## Ribbon提供的7中負載均衡策略 * com.netflix.loadbalancer.RoundRobinRule - 輪詢 * com.netflix.loadbalancer.RandomRule - 隨機 * com.netflix.loadbalancer.RetryRule - 重試,先按RoundRobinRule進行輪詢,如果失敗就在指定時間內進行重試 * com.netflix.loadbalancer.WeightedResponseTimeRule - 權重,響應速度越快,權重越大,越容易被選中。 * com.netflix.loadbalancer.BestAvailableRule - 先過濾掉不可用的處于斷路器跳閘轉態的服務,然后選擇一個并發量最小的服務 * com.netflix.loadbalancer.AvailabilityFilteringRule - 先過濾掉故障實例,再選擇并發量較小的實例 * com.netflix.loadbalancer.ZoneAvoidanceRule - 默認規則,復合判斷server所在區域的性能和server的可用性進行服務的選擇。 ## 自定義Ribbon負債均衡策略 ``` java @Configuration public class RibbonConfiguration { @Bean public IRule ribbonRule(){ // 也可以自己做算法實現 // return new RandomRule(); return new RoundRobinRule(); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看