04-Nacos中负载均衡规则的配置
- 开源代码
- 2025-07-21 19:12:26

负载均衡规则 同集群优先
默认的ZoneAvoidanceRule实现并不能根据同集群优先的规则来实现负载均衡,Nacos中提供了一个实现叫NacosRule可以优先从同集群中挑选服务实例
当服务消费者在本地集群找不到服务提供者时也会去其他集群中寻找,但此时会在服务消费者的控制台报警告第一步: 在order-service模块的application.yml文件中添加集群配置属性spring.cloud.nacos.discovery.cluster-name
spring: cloud: nacos: server-addr: localhost:8848 discovery: cluster-name: HZ # 集群名称(杭州)第二步: 在order-service模块的application.yml文件中给userservice服务添加同集群优先的负载均衡规则
# 该属性和spring属性同级 userservice: # 给userservice服务配置负载均衡规则 ribbon: NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则第三步: 访问http://localhost:8080/order/101(查询订单)-->http://localhost:8081/user/订单中的用户ID(查询用户), 观察服务实例的日志输出
启动userservice服务的三个实例: 集群名称为HZ的两个userservice服务实例看到日志输出,而集群名称为SH的userservice服务实例看不到日志输出停掉集群名称为HZ的两个userservice服务实例: 集群名称为SH的userservice服务实例也会输出日志,但orderservice的控制台提示跨集群访问警告 权重占比实际部署时不同的服务器设备性能有差异(有的性能好,有的性能较差),此时我们更希望性能好的机器承担更多的用户请求
默认情况下NacosRule实现类负载均衡的规则是同集群内随机挑选(不看机器的性能),所以Nacos另外提供了权重配置来控制访问频率(权重越大则访问频率越高)
在Nacos控制台找到userservice服务的实例,点击编辑即可以修改权重,权重一般是在0-1之间,权重为0表示该实例永远不会被访问
灰度测试: 对服务进行版本升级时,可以给刚更新后的该服务设置一个很小的权重,这样就会有一小部分用户来访问该服务,测试该服务是否稳定04-Nacos中负载均衡规则的配置由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“04-Nacos中负载均衡规则的配置”
上一篇
前后端传参格式
下一篇
向量、矩阵、数组、向量空间