需求:服务器分级存储的访问优先级?
一个服务可以有多个实例,例如我们的user-service,可以有:
-
127.0.0.1:8081
-
127.0.0.1:8082
-
127.0.0.1:8083
-
这里user服务copy了三个实例出来、。
127.0.0.1:8083 杭州 127.0.0.1:8082 成都 127.0.0.1:8081 杭州 -
这里我们使用order-Servervice来访问,order-Servervice也在杭州节点
-
实际效果:两个区域的服务器都会访问,没有规则,不存在先访问本地
-
.同集群优先的负载均衡
-
采用
默认的
ZoneAvoidanceRule
并不能实现根据同集群优先来实现负载均衡。因此Nacos中提供了一个
NacosRule
的实现,可以优先从同集群中挑选实例。1)给order-service配置集群信息
修改order-service的application.yml文件,添加集群配置:
- 集群配置:
-
权重配置(重点)
- 上述问题可以通过配置同级优先级负载均衡来达到要求
- 需求2:同一机房存在性能高的服务器和性能低的老服务器,我们需要性能更好的来承担根更多的需求。
- 但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题
- 因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。
- 点击详情,编辑权重范围在0-1,注意:如果权重修改为0,则该实例永远不会被访问