使用
依赖引入
需要在项目中加入spring-cloud-starter-alibaba-nacos-config的Maven依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.2.1.RELEASE</version>
</dependency>
本文章采用springboot版本是2.0.4.RELEASE,alibaba-nacos-config版本0.2.1.RELEASE
大致版本如下:
Spring Boot版本 Spring Cloud Alibaba Nacos Config版本 2.0.x 0.2.x 2.1.x 0.2.x 2.2.x 0.2.x 2.3.x 1.2.x 2.4.x 1.2.x 2.5.x 1.2.x 请注意,这只是一个大致的对照表,具体的版本兼容性可能会有所变化。建议查阅官方文档以获取更详细和准确的信息。
官方版本说明地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
下载nacos服务
下载地址:https://github.com/alibaba/nacos
#找到下载目录用下面命令启动,standalone表示单节点
./startup.cmd -m standalone
打开nacos服务地址
打开nacos可以看到dataId,Group和命名空间
- DataId是Nacos中用于标识配置的唯一标识符。它可以是任何字符串,并且用于在Nacos中唯一标识一个配置项。通过指定DataId,可以获取或更新相应的配置信息。
- Group是Nacos中用于对配置进行分组的概念。它可以帮助用户对配置项进行分类管理。多个配置项可以属于同一个Group,并且一个配置项也可以属于多个Group。通过指定Group,可以更方便地对配置项进行管理和操作。
- Namespace是Nacos中用于对配置和服务进行隔离的概念。它可以帮助用户在多个环境中共享Nacos实例,同时保持配置和服务的独立性。每个Namespace都有自己的配置和服务注册表,并且可以设置不同的权限和访问控制策略。通过使用Namespace,可以实现不同环境中的配置隔离和管理。
注意:
在运行时必须使用 bootstrap.properties/ootstrap.yaml配置文件配置nacos server地址,同时,spring.application.name值必须与Nacos中配置的Data Id匹配(除了.properties或者.yaml后缀)
DataId默认使用
spring.application.name
配置跟文件扩展名结合(配置格式默认使用.properties)GROUP 不配置默认使用 DEFAULT_GROUP
测试nacos配置
服务端:
新增配置example.yaml, 并给予属性false
测试端:
增加bootstrap.yml
spring:
application:
#服务名称
name: bxkc-test1
cloud:
nacos:
config:
#服务地址
server-addr: 127.0.0.1:8848
namespace:
group: DEFAULT_GROUP
#文件后缀
file-extension: yaml
#可以配置多个生效配置文件
shared-dataids: example.yaml
注意:使用bootstrap优先加载配置文件读取nacos配置
加载顺序 :
- bootstrap.>application.
- .yml>.properties
覆盖原则:
- 后加载的覆盖先加载的配置文件
- bootstrap不会被application覆盖
测试接口
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${useLocalCache}")
private boolean useLocalCache;
/**
* http://localhost:8080/config/get
*/
@RequestMapping("/get")
public boolean get() {
return useLocalCache;
}
}
useLocalCache是nacos配置属性,若获取成功则代表配置成功
请求测试通过:
@RefreshScope标识实时刷新,当我们修改了nacos的配置,会实时把bean更新
Nacos服务器开启鉴权
在Nacos中设置账户和密码可以通过以下步骤进行:
-
打开Nacos的配置文件(nacos/conf/application.properties或nacos/conf/application.yml)。
-
在配置文件中找到以下配置项:
# Enable authentication nacos.core.auth.enabled=false
-
将
nacos.core.auth.enabled
的值改为true
,启用身份验证。 -
保存配置文件并重启Nacos。
-
打开Nacos的登录页面(默认为http://localhost:8848/nacos/),输入默认的用户名(nacos)和密码(nacos)进行登录。
-
在登录成功后,点击右上角的用户名,选择“系统管理” -> “账号信息”。
-
在账号信息页面中,可以修改默认的用户名和密码,并设置新的账号和密码。
-
修改完成后,保存更改并重新登录。
详细鉴权验证参考文档:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
评论区