Nacos 简介
Nacos 是阿里巴巴开源的服务发现、配置管理和服务管理平台,支持动态服务发现、配置管理、动态 DNS 服务和流量管理。适用于微服务架构中的服务注册与发现、配置中心等功能。
Nacos 安装与启动
下载与安装
- 访问 Nacos GitHub Release 下载最新版本。
- 解压安装包后,进入
bin目录。
启动 Nacos
- 单机模式(开发环境)
执行以下命令启动:sh startup.sh -m standalone # Linux/Mac startup.cmd -m standalone # Windows - 集群模式(生产环境)
修改conf/cluster.conf配置集群节点,然后启动多个实例。
访问控制台
默认地址为 http://localhost:8848/nacos,用户名和密码均为 nacos。
Nacos 核心功能
服务注册与发现
-
服务注册
在微服务项目中添加依赖(以 Spring Cloud 为例):<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>在
application.yml中配置:spring: cloud: nacos: discovery: server-addr: localhost:8848通过注解
@EnableDiscoveryClient启用服务注册。 -
服务发现
使用@LoadBalanced注解的RestTemplate或 OpenFeign 调用其他服务。
配置管理
-
添加配置
在 Nacos 控制台创建配置:- Data ID:
应用名.properties(如user-service.properties)。 - 配置内容:键值对(如
server.port=8080)。
- Data ID:
-
动态获取配置
添加依赖:<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>在
bootstrap.yml中配置:spring: cloud: nacos: config: server-addr: localhost:8848 file-extension: properties通过
@Value或@ConfigurationProperties读取配置。
命名空间与分组
- 命名空间(Namespace):用于隔离不同环境的配置(如 dev/test/prod)。
- 分组(Group):进一步隔离同一环境中的不同服务组(如
DEFAULT_GROUP)。
配置示例:
spring:
cloud:
nacos:
discovery:
namespace: dev-namespace-id
group: MY_GROUP
常见问题与解决方案
-
服务注册失败
- 检查 Nacos 服务是否正常启动。
- 确认
spring.cloud.nacos.discovery.server-addr配置正确。
-
配置未生效
- 确保
bootstrap.yml优先级高于application.yml。 - 检查 Data ID 和 Group 是否匹配。
- 确保
-
集群部署问题
- 确保
cluster.conf中所有节点 IP 可互通。 - 推荐使用 MySQL 作为持久化存储(修改
conf/application.properties)。
- 确保
参考资料
以上指南覆盖了 Nacos 的核心功能与常见用法,适用于快速上手和问题排查。
733

被折叠的 条评论
为什么被折叠?



