namespace
和 group
)。
@RefreshScope
)。
依赖配置:
<!-- Nacos 服务发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Nacos 配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
服务注册与发现:
# application.yml
spring:
cloud:
nacos:
discovery:
server-addr: localhost:8848 # Nacos Server 地址
namespace: dev # 环境隔离
group: DEFAULT_GROUP # 服务分组
@SpringBootApplication
@EnableDiscoveryClient // 启用服务注册与发现
public class UserServiceApplication { ... }
动态配置管理:
# bootstrap.yml(优先级高于 application.yml)
spring:
cloud:
nacos:
config:
server-addr: localhost:8848
file-extension: yaml # 配置格式
namespace: dev # 环境隔离
group: DEFAULT_GROUP # 配置分组
shared-configs: # 共享配置
- data-id: common.yaml
group: COMMON_GROUP
refresh: true
@RestController
@RefreshScope // 支持配置动态刷新
public class ConfigController {
@Value("${user.name}")
private String userName;
}
bootstrap.yml
是否被正确加载。
@RefreshScope
注解已添加。
namespace
区分开发、测试、生产环境。
group
管理同一环境下的不同服务组。
spring.cloud.nacos.discovery.server-addr
为集群地址(逗号分隔)。
组件 | 适用场景 | 核心差异 |
---|---|---|
Nacos | 服务发现 + 配置中心 | 一体化解决方案,支持 AP/CP 切换 |
Eureka | 仅服务发现 | 纯 AP 模型,已停止更新 |
Consul | 服务发现 + 配置中心 | 强一致性(CP),支持多数据中心 |
通过本文,初学者可掌握 Nacos 的核心用法,而有经验者可快速查阅关键配置与原理。建议结合实战项目(如电商微服务)加深理解,并关注社区动态以跟进新特性!