Nacos: NacosRule负载均衡和实例的权重配置

Nacos: Dynamic Naming and Configuration Service

Nacos根据集群负载均衡

优先选择同集群的服务实例列表,本地集群找不到提供者才会去其他集群寻找,并且会本地警报,确定了可用实例后,再采用随机负载均衡选实例。

1.修改服务调用者的yml,设置集群

2.设置IRule为NacosRule,这个规则会优先寻找与自己同集群的服务,本集群内会随机查询

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

3.注意将user-service的权重都设置为1

跨集群调用时候会显示

A cross-cluster call occurs,name = userservice, clusterName = HZ, instance = [Instance{instanceId='192.168.239.1#8082#SH#DEFAULT_GROUP@@userservice', ip='192.168.239.1', port=8082, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='SH', serviceName='DEFAULT_GROUP@@userservice', metadata={preserved.register.source=SPRING_CLOUD}}]

Nacos根据权重负载均衡

部署场景: 服务器设备性能有差异,部分实例在的机器性能较好,另一些较差,性能好的承担更多的用户请求。

权重为0时候不会被选用。

在nacos网页中可以修改权重。先将一个实例的权重设置为0,等没有用户的时候,在停机升级,等升级完成,在将配置设置为0。0001,放入部分用户进行测试,再逐步放开。

posted @ 2021-10-20 15:15  zuiAI0658  阅读(1216)  评论(0)    收藏  举报