跳到正文

Nacos 学习路线 ​

适用版本:Nacos 3.2.4(2026-08-27 稳定版);2.5.4 是 2.x 维护线。3.x 要求 Java 17,2.5.x 仍支持 Java 8;客户端与服务端小版本以官方兼容性说明为准。

这套内容解决什么问题 ​

Nacos 常被当成「注册中心 + 配置中心」两个功能拼在一起,真正难的是它们在故障时的行为:临时实例什么时候被摘掉、配置推送为什么没生效、Nacos 全挂后调用还能不能继续、3.x 升级后端口和鉴权为什么全变了。本专栏按「定位 → 注册 → 配置 → 集群 → 高可用 → 监控 → AI 场景 → 踩坑」组织,不按控制台菜单组织。

先分清三件事 ​

能力解决什么一致性来源典型误用
Naming服务名到实例列表临时实例 Distro(AP)、持久实例 Raft(CP)把注册中心当配置库
Config配置集中管理与动态生效MySQL/Derby + 本地快照 + 变更通知把配置中心当高频 KV
AI Registry(3.x)MCP Server/Tool、A2A Agent、Prompt/Skill 的注册与发现与配置相同的存储与推送底座当成模型托管或推理平台

阅读顺序 ​

顺序篇目解决的问题读完的验收动作
101-定位与整体架构Nacos 到底是什么、两条链路怎么走画出命名与配置两条链路
202-服务注册与发现实例怎么注册、怎么被摘除注册一个实例并观察 30s 生命周期
303-配置中心配置怎么推送、刷新边界在哪改一条配置并确认哪些 Bean 会重建
404-集群与一致性3 节点怎么同步、分区时谁可写说清 Distro、Raft、MySQL 各管什么
505-高可用与容量规划接入方式、缓存、容量与备份估算自己环境的连接数与推送量
606-Nacos与AI:MCP与Agent注册工具和 Agent 怎么动态发现注册一个 MCP Server 并查到它
707-Nacos生产踩坑线上八类高频故障怎么定位按「现象→证据→根因→处置」排一次
808-监控指标与告警盯哪些指标、什么先兆、告警与处置顺序为一次实例骤降和一次配置不生效各列三条证据

生产执行项见 99-生产检查清单。

前置条件 ​

  • Java 17、Maven 3.8+、Docker;读 3.x 示例不需要先装 Nacos。
  • 知道 HTTP、DNS、TCP 长连接的基本概念。
  • Spring 侧示例基于 Spring Boot 3.5 + Spring Cloud Alibaba 2025.0.0.0;不熟自动装配先读 03-Spring-Boot自动装配。

环境自检:

bash
java -version && mvn -v && docker version

怎么读 ​

  • 01 先建立「Naming 与 Config 是两条链路」的判断,后面所有故障都能归到其中一条。
  • 02、03 各自跑一遍最小上手;只读不跑,容易把「注册成功」和「可调用」混为一谈。
  • 04、05 建议在准备上生产前读,带着节点数、实例数、配置数来算。
  • 06 只写有官方依据的 AI Registry 能力;MCP/A2A 规范仍在演进,落地前回查对应版本文档。
  • 07 可以出故障时直接查;每条的「证据」都是可执行命令或指标。
  • 08 与 05 配套:05 算容量和接入,08 看先兆、定告警级别和处置顺序。

学完的验收 ​

不看笔记,能完成下面五件事:

  1. 画出 Nacos 3.x 的 8848、9848、9849、7848、8080 各自承载什么,并说明只放通 8848 会怎样。
  2. 说清临时实例与持久实例分别走 Distro 还是 Raft,以及各自在分区时的行为。
  3. 解释一次配置变更从控制台到应用 Bean 的完整路径,并指出哪类 Bean 不会自动重建。
  4. 估算一个有 200 个服务、每个服务 10 个实例、3 节点 Nacos 的环境,客户端长连接大致是什么量级。
  5. 给定「实例骤降」和「配置不生效」两个现象,能按 08 说出先查哪三条证据、对应什么告警级别、处置顺序是什么。

版本基线 ​

项结论说明
Nacos 稳定版3.2.4(2026-08-27)3.3.0 仍在 RC,不作为生产基线
Nacos 2.x 维护版2.5.4(2026-08-27)Java 8;不能升 17 时停留在 2.5.x 并跟补丁
JDK3.x 要求 17;2.5.x 支持 8升级 3.x 前先确认构建与运行环境
Spring Cloud Alibaba2025.0.0.0(Boot 3.5,nacos-client 3.0.3)2025.1.0.0 对应 Boot 4.0,client 3.1.1
端口8848 HTTP、9848 客户端 gRPC、9849 集群 gRPC、7848 JRaft、8080 控制台3.x 控制台独立,不再在 8848/nacos
默认命名空间3.x 为 public;2.x 默认为空字符串从 2.x 升级时注意迁移与兼容开关

3.0.0–3.2.3 存在鉴权作用域错配问题,3.2.4 修复;仍在该区间内的环境应先升级或开启客户端鉴权并限制端口暴露。以官方安全公告为准。

与相邻目录的关系 ​

把一门技术讲透到既懂也会用