nacos注册中心集群

举报
酸菜鱼. 发表于 2022/07/12 09:02:38 2022/07/12
【摘要】 本篇主要讲解nacos注册中心的集群,欢迎各位大佬前来围观

前言:本篇将介绍nacos的集群部署,期待能方便复习以及帮助的诸位大佬😉

nacos集群

在这里插入图片描述

SpringBoot 整合Spring Cloud Alibaba Nacos注册中心。多数情况一个应用系统系统只有一个注册中心,但由于微服务架构系统跨区域分布部署可能有网络延迟问题,所以需要考虑多注册中心方案。

由于存在老旧基于Spring Cloud的微服务系统迁移到新注册中心问题,类似灰度发布,需要新老Nacos注册中心并存,可以通过某个SpringBoot项目同时配置多个注册中心来解决。
首先配置yml文件
修改user-service的application.yml文件,添加集群配置:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ 

重启两个user-service实例后,我们可以在nacos控制台看到下面结果:

在这里插入图片描述
再次复制一个user-service启动配置,添加属性:

-Dserver.port=8083 -Dspring.cloud.nacos.discovery.cluster-name=SH

在这里插入图片描述

spring:
  application:
    name: userservice
  profiles:
    active: dev 
  cloud:
    nacos:
      server-addr: nacos:8848 
      config:
        file-extension: yaml 

启动UserApplication3后再次查看nacos控制台:

在这里插入图片描述

负载均衡

默认的ZoneAvoidanceRule并不能实现根据同集群优先来实现负载均衡。

因此Nacos中提供了一个NacosRule的实现,可以优先从同集群中挑选实例。

首先给order-service配置集群信息

修改order-service的application.yml文件,添加集群配置:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ 

修改order-service的application.yml文件,修改负载均衡规则:

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

权重配置

实际部署中会出现这样的场景:

服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。

但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题。

因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。

在nacos控制台,找到user-service的实例列表,点击编辑,即可修改权重:
在这里插入图片描述
在弹出的编辑窗口,修改权重:
在这里插入图片描述

注意:如果权重修改为0,则该实例永远不会被访问

本篇文章就介绍到这里,谢谢各位大佬的支持🤩🤩🤩

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。