天天看點

nacos叢集和負載均衡

1.配置叢集

修改user-service的application.yml檔案,添加叢集配置:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos伺服器位址
      discovery:
        cluster-name: SH # 叢集名稱
      

  

再次複制一個user-service啟動配置,添加屬性:

-Dserver.port=8083 -Dspring.cloud.nacos.discovery.cluster-name=HZ
      

 

啟動三個服務後再次檢視nacos控制台userservice服務詳情:

nacos叢集和負載均衡

 2.同叢集優先的負載均衡

預設的

ZoneAvoidanceRule

并不能實作根據同叢集優先來實作負載均衡。

是以Nacos中提供了一個

NacosRule

的實作,可以優先從同叢集中挑選執行個體。

1)給order-service配置叢集資訊

修改order-service的application.yml檔案,添加叢集配置:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ # 叢集名稱
      

2)修改負載均衡規則

修改order-service的application.yml檔案,修改負載均衡規則:

userservice:  #要配置的微服務名稱
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 負載均衡規則(優先通路同一叢集下的微服務,是随機通路,而不是輪詢)
      

3.權重配置

Nacos提供了權重配置來控制通路頻率,權重越大則通路頻率越高。

在nacos控制台,找到user-service的執行個體清單,點選編輯,即可修改權重(0-1):

繼續閱讀