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,则该实例永远不会被访问