Nacos公共配置开发说明
Nacos参考文档
https://nacos.io/zh-cn/index.html
Nacos配置参考文档
https://github.com/spring-cloud-incubator/spring-cloud-alibaba/wiki/Nacos-config
Nacos 动态配置开发SDK
https://nacos.io/zh-cn/docs/sdk.html
第一种从Nacos Config动态获取配置例子如下:详细API请参考上面的SDK API文档
String serverAddr = "{serverAddr}";
String dataId = "{dataId}";
String group = "{group}";
Properties properties = new Properties();
properties.put("serverAddr", serverAddr);
ConfigService configService = NacosFactory.createConfigService(properties);
String content = configService.getConfig(dataId, group, 5000);
System.out.println(content);
configService.addListener(dataId, group, new Listener() {
@Override
public void receiveConfigInfo(String configInfo) {
System.out.println("recieve1:" + configInfo);
}
@Override
public Executor getExecutor() {
return null;
}
});
第二种获取配置方式
@SpringBootApplication
@NacosPropertySource(dataId = "springboot2-nacos-config", autoRefreshed = true)
public class Springboot2NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot2NacosConfigApplication.class, args);
}
@NacosValue(value = "${nacos.test.propertie:123}", autoRefreshed = true)
private String testProperties;
}
acos开发配置
命名空间配置说明
项目中使用命名空间区分开发环境,可以通过以下配置来实现:
spring.cloud.nacos.config.namespace=b3404bc0-d7dc-4855-b519-570ed34b62d7
spring.cloud.nacos.discovery.namespace=b3404bc0-d7dc-4855-b519-570ed34b62d7
该配置必须放在 bootstrap.properties 文件中。此外 spring.cloud.nacos.config.namespace 的值是 namespace 对应的 id,id 值可以在 Nacos 的控制台获取。并且在添加配置时注意不要选择其他的 namespace,否则将会导致读取不到正确的配置。
命名空间配置规则
- 各个环境的命名空间命名规则: ProjectName_ns_XXX
- 开发环境:每个开发者在Nacos上建立自己以工号为后缀的命名空间,例如:hx_open_ns_ab002001。开发的时候使用自己的命名空间进行开发调试
- dat,uat,vir 环境:后缀名为dat,uat,vir.例如hx_open_ns_dat,hx_open_ns_uat,hx_open_ns_vir
- 生产环境:使用后缀名为pro. 例如hx_open_ns_pro
Group和DataID配置规则
不同命名空间下可以有相同的Group和DataID。因此项目中我们使用命名空间区分不同的环境,从而可以共享部分配置。
-
Group命名规则:
Group统一命名为:ProjectName_group_XXX
例如:hx_open_group_medium
环境特殊配置命名为:ProjectName_group_ENV_XXX
例如:hx_open_group_dat_test -
DataID命名规则:
DataID统一命名为:ProjectName_dataid_XXX
例如:hx_open_dataid_initcfg
环境特殊配置命名为:ProjectName_dataid_ENV_XXX
例如:hx_open_dataid_dat_test
网友评论