springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用

 这里是 Nacos 的github下载地址  点击跳转  ,我们看下Nacos 地图 Nacos官方介绍

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第1张图片

由于springcloud 注册中心  Eureka 早已停止维护,所以我们将使用 Nacos 作为注册中心和配置中心

上一篇我们修改了Nacos的启动参数启动,这篇我们看下 Nacos的具体功能

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第2张图片

 

命名空间:相当于环境,开发环境  测试环境  生产环境 ,每个空间里面的配置是独立的

配置管理:配置中心,根据命名空间区分创建不同的配置,Group 组,这个类似我们的项目,比如 风控系统 ,交易系统, 就是不同的项目,Data ID 这个就是我们项目下面的 配置文件

历史版本:可以查看这个配置,历史修改的内容

主要看一下配置管理的使用,官方的命名规则

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第3张图片

对应的配置命令类型是:service-provider.properties  或 service-provider-dev.properties, service-provider 是服务的名字 dev 是环境,properties  是文件类型 ,如果是 .yml 文件格式,配置中心必须是 .yaml  可参考github nacos配置中心 点击

下面是 bootstrap.properties 


server.port=8088
#服务名称
spring.application.name=service-provider
#环境
spring.profiles.active=dev
#注册中心地址
spring.cloud.nacos.discovery.server-addr=http://127.0.0.1:8848
#配置中心
spring.cloud.nacos.config.server-addr=http://127.0.0.1:8848
#命名空间
spring.cloud.nacos.config.namespace=c80e6dbd-d1c6-405e-880a-48206b9422fb
#文件类型
spring.cloud.nacos.config.file-extension=properties
# Group 组
spring.cloud.nacos.config.group=DEV_GROUP

如果不配置命名空间,使用默认的public空间,使用默认的group 组,我们可通过  spring.profiles.active=dev 区分不同环境

如 :service-provider-dev.properties   service-provider-test.properties  ervice-provider.properties 

同样,我们也可以通过不同的 group 组区分环境 通过  spring.cloud.nacos.config.group=DEFAULT_GROUP

不同的 group 配置不同环境的配置:  DEV_GROUP    TEST_GROUP   PROP_GROUP 

接下来我们测试  命名空间不同  组不同  环境不同,如何动态读取配置,我们看下项目启动的日志

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第4张图片

我们浏览器看下效果

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第5张图片

springcloud Alibaba Nacos 注册中心 配置中心的使用,命名空间 namespace ,Group Data ID 配置管理的使用_第6张图片

java代码

@RestController
@RefreshScope //动态获取注解
public class TestController {

    @Value("${name}")
    private String name;


    @RequestMapping("/name")
    public String name(){

        return name;
    }
}

这样我们可以通过配置中心,实时获取配置中心的值了 代码已上传github 

你可能感兴趣的:(springcloud)