美文网首页拉勾教育学习笔记
Spring Cloud Alibaba - Nacos配置中心

Spring Cloud Alibaba - Nacos配置中心

作者: 耳威巴帝 | 来源:发表于2020-11-14 23:10 被阅读0次

    一、Nacos配置中心介绍

    Nacos配置中心等同于Srping Cloud Config+Bus,并且配置信息基于自己搭建的项目,并且可以保存到Mysql数据库中

    二、Nacos配置中心使用

    2.1,Nacos管理首页->配置管理->配置列表

    这里就是配置中心管理列表页面,所有的配置数据都在这里展示


    image.png

    2.2,Nacos数据中心数据模型

    在真正使用Nacos数据中心前需要了解Nacos的数据模型:

    命名 名称 使用方式
    Namespace 不同环境进行隔离 dev开发环境,fat测试环境,pro生产环境
    Group 将若干个服务或者配置归集为一组 一个项目一组,比如TC服务,TB服务,管理后台
    Service 对应某一个微服务 TC服务拆分的微服务
    DataId 一个DataId对应一个配置文件,可以理解数据主键Id 一个微服务对应一个/多个配置文件DataId

    2.3,Nacos配置中心使用

    • 命名空间创建dev,fat,pro分别对应开发,测试,生产环境 image.png
    • 在配置列表中选择对应的命名空间 image.png
    • 创建配置文件并且分组 image.png
    • 创建成功后就能在列表看到该条配置数据

    2.4,获取配置中心数据开发

    在Nacos服务提供者章节的基础上继续开发获取配置中心数据

    • 开发前先了解dataId的完整格式
    ${prefix}-${spring.profile.active}.${file-extension}
    
    名称 介绍
    prefix 默认为spring.application.name 的值,也可以通过配置项spring.cloud.nacos.config.prefix来配置
    spring.profile.active 当前环境对应的profile,当该字段为空时,dataId会变成${prefix}.${file-extension},因为环境一般配置在Namespace,所以这个建议空
    file-exetension 后缀,可以通过配置项spring.cloud.nacos.config.file-extension 来配置
    • sca-parent项目pom.xml
    <!-- Nacos配置中心 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
    
    • sca-service-8081项目applicaion.yml改成bootstrap.yml
      如果直接使用application.yml配置,会无法从配置中心获取配置参数
      bootstrap.yml是由父Spring ApplicationContext加载,他会在application.yml加载前加载
      bootstrap.yml一般是最早期配置文件,里面的参数一般是不会变动的
      而变动的参数会通过application.yml进行米哦啊书
      而nacos需要使用bootstrap.yml进行nacos相关的配置
    server:
      port: 8081  # 端口
    spring:
      application:
        name: sca-service # 命名
      # nacos配置
      cloud:
        nacos:
          discovery:
            # 集群中各节点信息都配置在这里(域名-VIP-绑定映射到各个实例的地址信息)
            server-addr: 127.0.0.1:8848
          # nacos配置中心获取配置设置
          config:
            # nacos配置中心IP端口,集群以,隔开
            server-addr: 127.0.0.1:8848
            # 命名空间里面的命名空间ID
            namespace: 0520da30-154c-42e2-94d1-524e42203aa4
            # group分组名称
            group: DEFAULT_GROUP
            # 后缀名,最终配置文件全称sca-service.yaml
            file-extension: yaml
            # 配置文件命名规则
            prefix: sca-service
    
    • HelloController.java编写一个类进行验证
    @RestController
    @RequestMapping("/sca")
    @RefreshScope //动态刷新配置信息
    public class HelloController {
        @Value("${server.port8081}")
        private Integer port;
        @GetMapping("/hello/{name}")
        public String hello(@PathVariable String name){
            return name + "你好,欢迎来到"+port+"的Spring Cloud Alibaba";
        }
    }
    

    相关文章

      网友评论

        本文标题:Spring Cloud Alibaba - Nacos配置中心

        本文链接:https://www.haomeiwen.com/subject/rntgbktx.html