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服務詳情:
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):
注意:如果權重修改為0,則該實例永遠不會被訪問