文章目录
- 一、nacos服务分级存储模型
- 二、Nacos-NacosRule 实现负载均衡
- 三、nacos-服务实例的权重设置
一、nacos服务分级存储模型
修改 application.yml 配置文件:
spring:
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ #集群位置,杭州 HZ
服务跨集群调用问题:
服务调用尽可能选择本地集群的服务,跨集群调用延迟较高。
本地集群不可访问时,再去访问其他集群。
二、Nacos-NacosRule 实现负载均衡
- 修改order-service中的application.yml,设置集群为HZ,一个user-service:8081中的application.yml,设置集群为HZ,另一个user-service:8082中的application.yml,设置集群为SZ
- 在order-service中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务:
userservice: ribbon: NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
- NacosRule负载均衡策略:
优先选择同集群服务实例列表
本地集群找不到提供者,才去其他集群寻找,并且会报警告
确定了可用实例列表后,再采用随机负载均衡策略挑选实例
三、nacos-服务实例的权重设置
在Nacos控制台可以设置实例的权重值,首先选中实例后面的编辑按钮:
将权重设置为0.1,测试可以发现8081端口被访问到的频率大大降低
实例权重控制:
Nacos控制台可以设置实例的权重值,0~1之间
同集群内的多个实例,权重越高被访问的频率越高
权重设置为0则完全不会被访问