nacos:负载均衡 3大核心操作

Nacos 负载均衡核心能力总结


一、核心前提:开启 Nacos 负载均衡

要让下面所有功能生效,必须在调用方(如 order-service)的配置文件中开启 Nacos 负载均衡:

yaml

复制代码
spring:
  cloud:
    loadbalancer:
      nacos:
        enabled: true

不加这个配置,默认的 Spring Cloud 轮询策略会让「权重」「同集群优先」都失效。


二、核心能力 1:服务上线下线(故障自动剔除)

1. 功能说明

  • 当服务实例正常关闭或意外宕机时,Nacos 会自动将其从服务列表中剔除。
  • 负载均衡器会立刻停止向下线的实例转发请求,只发给健康实例。

2. 你关心的问题

  • 问题 :某个实例下线了,会不会影响其他实例?
    • 回答:不会。只要还有其他健康实例,请求会自动转发到可用实例,不影响业务。
  • 问题 :服务下线是立刻生效吗?
    • 回答:主动关闭(优雅下线)是立刻生效;宕机 / 断网的实例,Nacos 会在健康检查失败后自动剔除(几秒内)。

三、核心能力 2:权重配置(流量分配控制)

1. 功能说明

  • 每个服务实例都可以设置 0~100 的权重,数值越大,分到的请求越多。
  • 权重为 0 时,实例直接下线,不接收任何请求(可用于优雅停机、灰度发布)。

2. 你关心的问题

  • 问题 :为什么权重配置了不生效?
    • 回答 :因为没开启 spring.cloud.loadbalancer.nacos.enabled=true,默认轮询策略不认权重。
  • 问题 :权重怎么用?
    • 回答 :
      • 灰度发布:新实例设高权重,旧实例逐步调低到 0,实现无痛切换。
      • 故障止损:故障实例设为 0,立刻停止流量,不影响用户。
      • 流量分担:高峰期通过调整权重,将部分流量导到其他集群实例。

四、核心能力 3:同集群优先访问(就近访问)

1. 功能说明

  • 服务可以通过 spring.cloud.nacos.discovery.cluster-name 配置所属集群(如 beijing)。
  • 负载均衡策略会优先选择同集群内的实例,只有当同集群实例全部下线 / 不健康时,才会降级访问其他集群的实例。

2. 你关心的问题

  • 问题 :同集群的机器处理不过来,会自动分流到其他集群吗?
    • 回答 :不会。默认策略只有在同集群实例全挂 / 不健康时,才会跨集群访问。
    • 想主动分流,必须通过手动调整权重实现(降低本集群权重,提高其他集群权重)。
  • 问题 :同集群优先的优先级比权重高吗?
    • 回答 :是的。执行顺序是:
      1. 优先筛选同集群实例
      2. 在同集群内按权重分配流量
      3. 同集群无可用实例时,才会跨集群访问

五、三者协同的完整执行流程

当 order-service 调用 product-service 时,完整的负载均衡逻辑是:

  1. 筛选集群:优先选择和自己同集群的 product-service 实例。
  2. 过滤健康实例:剔除已下线、不健康的实例。
  3. 按权重分配:在可用实例中,根据权重比例分发请求。
  4. 跨集群兜底:如果同集群没有可用实例,才会降级访问其他集群的实例。

六、关键结论

  1. 「权重」和「同集群优先」生效的前提是开启 Nacos 负载均衡。
  2. 服务下线自动剔除,实现高可用。
  3. 权重可手动控制流量分配,支持灰度发布和故障止损。
  4. 同集群优先是就近访问,不会自动跨集群分担压力,仅用于故障兜底。
  5. 高峰期跨集群流量分担,必须通过手动调整权重实现。
相关推荐
科技研学社10 分钟前
中小服装工装厂自动化改造:产线节拍平衡与工位减负实施方案
运维·自动化
极光通讯13 分钟前
服务器内存替代料选型方法论:主料号缺货时如何找到Pin-to-Pin兼容型号
运维·服务器
草根大哥13 分钟前
08-横向扩容与突发高并发:加机器到底买到了什么
运维·webrtc·srt·横向扩容·whip·自建cdn
oicola33 分钟前
【运维】CI/CD是什么,合格的规范应该怎么设置
运维·ci/cd
Dachui_112235 分钟前
内网穿透如何限制访问地区?ZeroNews Geo Location 区域访问控制实践
运维·网络安全·内网穿透·访问控制·远程办公·api安全·ip白名单
根目录下的猫1 小时前
虚拟机复制过来运行时:“虚拟机使用的此版本,VMware Workstation 不支持的硬件版本。”错误解决办法,亲测可用
linux·运维·服务器·后端
梦帮科技1 小时前
【3.0】上线与运维:节点监控、水龙头、区块浏览器与安全清单
运维·安全·web安全·金融·区块链·密码学·安全架构
帷幕落秋1 小时前
内存、虚拟内存与 OOM
linux·运维
mengge.cloud2 小时前
Redis
运维·服务器·数据库·redis·缓存·云计算
Smoothcloud润云2 小时前
GPU服务器租用实例DNS与HTTPS下载排障实战
大数据·运维·服务器·人工智能·https·gpu算力