NacosRule负载均衡
一、集群优先规则
1、配置OrderService的集群名称。
cloud: nacos: server-addr: localhost:8848 # nacos服务地址 discovery: cluster-name: HZ #集群名称
2、开启服务测试发现order-service依然是轮询,并未优先选择在本地集群位置的user-service
集群负载均衡:在order-service中设置负载均衡的IRule为NacosRule,这个规则优先会寻找与自己同集群的服务。
当本地集群找不到服务。则会跨集群访问并且日志中会发出跨集群访问警告。方便运维人员检查。
userservice:
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # com.netflix.loadbalancer.RandomRule # 负载均衡规则
二、根据权重负载均衡
实际部署中会出现这样的场景: 服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,因此希望性能好的机器承担更多的用户请求。
Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。
在Nacos控制台可以设置实例的权重值,首先选中实例后面的编辑按钮。
权重为0:方便服务版本升级。
实例的权重控制:
Nacos控制台可以设置实例的权重值,0~1之间
同集群内的多个实例,权重越高被访问的频率越高
权重设置为0则完全不会被访问