Nacos-NacosRule負載均衡和服務實例的權重配置


一、Nacos-NacosRule負載均衡
1、NacosRule負載均衡策略
a.優先選擇同集群服務實例列表
b.本地集群找不到提供者,才去其它集群尋找,並且會報警告
c.確定了可用實例列表后,再采用隨機負載均衡挑選實例


1.修改order-service中的application.yml,設置集群為HZ:

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: tajia-nacos:8848 # nacos服務地址
      discovery:
        cluster-name: HZ #order-service服務在杭州集群,調用user-service服務優先選擇杭州集群服務實例列表

 

2.然后在order-service中設置負載均衡的IRule為NacosRule,這個規則優先會尋找與自己同集群的服務:

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 負載均衡規則

 

二、Nacos-服務實例的權重配置
實際部署中會出現這樣的場景:
服務器設備性能有差異,部分實例所在機器性能較好,另一些較差,我們希望性能好的機器承擔更多的用戶請求.

Nacos提供了權重配置來控制訪問頻率,權重越大則訪問頻率越高,實例的權重控制
a.Nacos控制台可以設置實例的權重值,0~1之間
b.同集群內的多個實例,權重越高被訪問的頻率越高

c.權重設置為0則完全不會被訪問
eg:如把userservice:8081服務權重調整為0,此時userservice:8081服務不承擔用戶請求,這時做停機操作對用戶是無感知操作,我們可以做版本升級,升級結束后權重調小點(如:0.01),對小部分用戶開放等沒問題再把權重調大。這樣操作對用戶是無感知的,平滑升級非常優雅。

設置權重負載均衡:
在Nacos控制台可以設置實例的權重值,首先選中實例后面的編輯按鈕

 

將權重設置為0.1,測試可以發現8081被訪問到的頻率大大降低

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM