nacos的负载均衡配置

本文介绍了如何在Nacos中配置集群,实现微服务间的负载均衡,包括自定义负载均衡规则、服务权重设置以及使用namespace进行环境隔离。还讨论了服务健康状态和持久化选项,以及如何处理服务转换为持久化时的权限问题。
摘要由CSDN通过智能技术生成

在nacos中,有集群的概念,集群下才是各种微服务。默认情况为DEFAULT,我们可以在配置文件中对他进行修改:

cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        username: nacos
        password: nacos
        clusterName: SH #集群名称

比如我们添加一个名为SH的集群,它是作用是,在对相同服务的访问中。nacos会优先调用相同集群的服务器。

在同一集群环境下,他们调用是遵循不同的负载均衡规则,由于eureka和nacos都实现了springcloud的规则,他们的配置方法一致:

#自定userservice服务的负载均衡规则
userservice: #需要实现规则的服务名
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

启动服务测试:
在这里插入图片描述
使用postman调用6次请求,观察发现一个服务相应4次,一个2次,他们遵循一种随机的负载均衡规则。也可以通过nacos注册中心修改服务权重0~1之间,越大权重越高。被调用的几率越高,为0时不调用。
在这里插入图片描述
nacos还可以通过namespace做环境隔离,在相同环境空间下的服务才可以互相访问
具体配置如下:

      discovery:
        server-addr: 127.0.0.1:8848
        username: nacos
        password: nacos
        clusterName: SH #集群名称
        namespace: dev #namespace id

在nacos注册中心添加一个新的namespace
在这里插入图片描述
就可以使用了。

当前使用的微服务全是临时实例,服务健康状态是client主动像nacos服务进行汇报的,当服务当调之后nacos会在30s后对不健康服务进行删除,可以通过将服务修改为持久化解决这样的问题,持久化服务是由nacos主动检测,检测到服务当掉也不会直接删除。

   discovery:
        server-addr: 127.0.0.1:8848
        username: nacos
        password: nacos
        clusterName: SH #集群名称
        ephemeral: false

直接将原本的临时服务改为持久话的服务,nacos会检测到,并不允许修改,这里可以通过以下办法解决:
1:关闭nacos服务和client服务器。
在这里插入图片描述
2.删除data下的指定文件然后重启服务:
在这里插入图片描述
启动完成如下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值