• SpringCloud学习笔记-Nacos服务分级存储模型


    Nacos服务分级存储模型

    1. 一级是服务,例如userservice
    2. 二级是集群,例如杭州或上海
    3. 三级是实例,例如杭州机房的某台部署了userservice的服务器
      在这里插入图片描述

    微服务互相访问时,应该尽可能访问同集群实例,因为本地访问速度更快。当本集群内不可用时,才访问其它集群。例如:

    在这里插入图片描述

    杭州机房内的order-service应该优先访问同机房的user-service。

    Q:如何设置实例的集群属性
    A:修改application.yml文件,添加spring.cloud.nacos.discovery.cluster-name属性即可

    1.给user-service配置集群

    spring:
      cloud:
        nacos:
          server-addr: localhost:8848 #指定的Nacos的地址
          discovery:
            cluster-name: HZ # 集群名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    重启两个user-service实例后,我们可以在nacos控制台看到下面结果:
    在这里插入图片描述

    我们再次复制一个user-service启动配置,添加属性:

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

    配置如图所示:
    在这里插入图片描述
    启动UserApplication3后再次查看nacos控制台:
    在这里插入图片描述

    2.同集群优先的负载均衡

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

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

    1)给order-service配置集群信息

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

    spring:
      cloud:
        nacos:
          server-addr: localhost:8848
          discovery:
            cluster-name: HZ # 集群名称
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2)修改负载均衡规则

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

    userservice:
      ribbon:
        NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 
    
    • 1
    • 2
    • 3

    3.权重配置

    实际部署中会出现这样的场景:
    服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求。
    但默认情况下NacosRule是同集群内随机挑选,不会考虑机器的性能问题。
    因此,Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高。
    在nacos控制台,找到user-service的实例列表,点击编辑,即可修改权重:
    在这里插入图片描述
    在弹出的编辑窗口,修改权重:
    在这里插入图片描述
    注意:如果权重修改为0,则该实例永远不会被访问

  • 相关阅读:
    pm2 开机自启动
    MongoDB 中 查询(find) 指南
    00 预训练语言模型的前世今生(全文 24854 个词)
    MySQL-逻辑架构
    uni-app 、Spring Boot 、ant Design 打造的一款跨平台包含小说(仿真翻页、段落听书)、短视频、壁纸等功能含完备后台管理的移动应用
    Kubernetes通过HostAliases自定义hosts
    GIS工具maptalks开发手册(三)02——层级缩放工具
    java中的反码与补码概念
    opencl.dll丢失怎么办?为什么会丢失?
    Rust引用转换时避免使用变量
  • 原文地址:https://blog.csdn.net/weixin_46028606/article/details/133846932