本文档用于指导开发者快速对接 Nacos 实现服务注册、服务发现、配置管理、服务治理(权重、路由、熔断、健康检查),覆盖 Spring Cloud Alibaba + Nacos 标准对接方案,适用于微服务架构生产环境使用。
适用版本:
- Nacos Server:2.x 系列(推荐 2.2.3 / 2.3.0)
- Spring Cloud Alibaba:2021.0.5.0 / 2022.0.0.0
- Spring Boot:2.7.x / 3.0.x+
一、Nacos 基础概念
1. 核心功能
- 服务注册 / 发现:微服务启动时自动注册到 Nacos,调用方通过服务名直接发现目标实例
- 配置中心:统一管理配置文件,支持动态刷新、灰度发布
- 服务治理:权重调度、健康检查、服务路由、隔离、上下线、熔断保护
- 动态配置:无需重启服务即可生效配置
2. 核心术语
- Namespace:命名空间(环境隔离:dev/test/prod)
- Group:分组(业务隔离:order/pay/user)
- Service:服务名
- Instance:服务实例(IP + 端口)
- Cluster:集群(同地域 / 同机房实例分组)
二、环境准备
1. 部署 Nacos Server
可直接使用阿里云 MSE Nacos 或自建 Nacos:
- 公网地址:
http://nacos-server-ip:8848 - 控制台:
http://nacos-server-ip:8848/nacos - 默认账号 / 密码:
nacos/nacos(生产必须修改)
2. 创建命名空间(推荐)
dev:开发环境test:测试环境prod:生产环境
三、Spring Cloud 项目对接 Nacos
1. 依赖引入(Maven)
四、服务注册与发现配置(application.yml)
启动类注解(无需手动加)
Spring Cloud Alibaba 2021+ 版本自动开启服务注册,无需添加 @EnableDiscoveryClient。
五、服务发现与服务调用(2 种方式)
方式 1:RestTemplate + 负载均衡
使用:
方式 2:OpenFeign(生产推荐)
六、Nacos 服务治理核心能力(生产必备)
1. 服务健康检查
- Nacos 默认开启心跳检查
- 客户端每 5s 发送心跳
- 15s 无心跳标记不健康,30s 剔除实例
2. 权重调度(流量控制)
在 Nacos 控制台 → 服务管理 → 详情 → 实例列表
- 权重:0~100
- 权重 = 0:不接收流量(用于优雅上下线)
- 权重越大,流量分配越多
3. 服务优雅上下线
- 下线:控制台把实例权重设为 0
- 上线:恢复权重 >0
- 无流量抖动,无需重启服务
4. 集群隔离(同集群优先调用)
调用规则:同集群优先 → 跨集群兜底
5. 服务元数据(标签路由)
6. 服务熔断 / 隔离
配合 Sentinel 使用,可实现:
- 限流
- 熔断降级
- 热点参数限流
- 系统保护
七、配置中心使用(动态刷新)
1. 在 Nacos 创建配置
Data ID:demo-service.yaml Group:DEFAULT_GROUP 配置内容示例:
2. 代码中使用(支持动态刷新)
八、生产环境最佳实践
1. 安全规范
- 必须修改 Nacos 默认密码
- 生产开启鉴权
- 命名空间严格隔离(dev/test/prod)
- 敏感配置使用加密配置
2. 高可用
- Nacos Server 必须集群部署(3 节点起)
- 服务实例多节点部署
- 开启健康检查、权重保护
3. 性能配置
4. 监控运维
- 开启 Nacos 监控(CPU / 内存 / 连接数 / 实例数)
- 服务上下线日志告警
- 配置变更审计
九、常见问题排查
-
服务注册不上
- 检查 Nacos 地址 / 端口 / 账号密码
- 检查 namespace ID 正确
- 检查网络连通性
-
服务发现不到
- 服务名是否一致
- namespace/group 是否一致
- 实例是否健康(非下线状态)
-
配置不刷新
- 检查 Data ID / Group
- 类上加
@RefreshScope - 检查文件后缀(yaml/yml/properties)
-
调用报错 503/UnknownHost
- 缺少 loadbalancer 依赖
- 服务未注册成功
- 服务已下线
十、文档附件
- Nacos 官方文档:
- Spring Cloud Alibaba 文档:
- 生产部署方案:Nacos 3 节点集群 + MySQL 持久化
文档总结
- 对接 Nacos 只需2 个核心依赖 + yml 配置
- 服务注册 / 发现自动完成,使用服务名调用
- 支持权重、集群、元数据、健康检查、优雅上下线等治理能力
- 配置中心支持动态刷新,无需重启服务
- 生产必须做环境隔离、鉴权、高可用集群
全链路监控埋点平台 是一站式前端监控 + 用户行为埋点 + 大数据分析平台,天然适配点位细查、用户行为回溯、批量导出等场景:
一体化架构:监控 + 埋点同一套 SDK,数据互通无壁垒
私有化部署:数据完全本地化,满足企业合规要求
高吞吐支撑:基于 ClickHouse 构建,亿级日志秒级查询
全端覆盖:H5 / 小程序 / APP / 鸿蒙全覆盖,统一导出口径
可定制强:支持接口扩展、分布式锁、限流降级等企业级能力