美文网首页全栈程序猿的成长
springboot使用nacos做配置中心

springboot使用nacos做配置中心

作者: 小尘哥 | 来源:发表于2021-02-19 16:45 被阅读0次

    nacos,官方介绍【一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台】,本文我们先来了解它的配置管理。官方网址

    分布式配置中心有多个,包括Apollo、Disconf等等,已经有大神做了各种对比,技术没有好坏,选择适合自己的最好,我们选择nacos是结合了它的服务发现和服务管理,这一块后面再说,今天我们先来看看如何使用它的配置管理。

    一、服务端

    1. 先从官方下载nacos-server-$version.zip,目前建议使用稳定版v1.4.1
    2. 扔到服务器上(建议linux,windows也可以,只是启动脚本不同),解压
    3. 执行startup.sh
      -m standalone 表示单机模式
     unzip nacos-server-1.4.1.zip
     cd nacos
     sh startup.sh -m standalone
    

    这样服务端即配置完成,访问地址:http://{你的IP}:8848/nacos;默认登录名/密码:nacos/nacos


    image.png

    二、客户端

    • 随便建一个springboot工程,过程略,pom引入依赖
        <properties>
            <java.version>1.8</java.version>
            <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version>
        </properties>
          <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>nacos-config-spring-boot-starter</artifactId>
                <version>${nacos-config-spring-boot.version}</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>nacos-config-spring-boot-actuator</artifactId>
                <version>${nacos-config-spring-boot.version}</version>
            </dependency>
    
    • 启动类添加注解
      dataId 一旦确定不能修改,否则可能找不到配置
    @SpringBootApplication
    @NacosPropertySource(dataId = "mos", autoRefreshed = true)
    public class CoreApplication{
        public static void main(String[] args) {
            SpringApplication.run(CoreApplication.class, args);
        }
    
    }
    

    *application.yaml添加配置

    server:
      port: 8888
    nacos:
      config:
        server-addr: 你的IP:8848
    management:
      endpoints:
        web:
          exposure:
            include: '*'
      endpoint:
        health:
          show-details: always
    
    • 编写测试controller
      可以看到{useLocalCache}没有任何配置,为了避免程序异常可以赋一个默认值:{useLocalCache:false}
    @RestController
    @RequestMapping("config")
    public class ConfigController {
    
        @NacosValue(value = "${useLocalCache}", autoRefreshed = true)
        private boolean useLocalCache;
    
        @RequestMapping(value = "/get", method = GET)
        public boolean get() {
            return useLocalCache;
        }
    
    }
    
    • 测试


      默认值false
    • 登陆配置中心,添加配置


      添加配置
    • 重新验证


      配置值true

    作为配置中心就是这么简单,当然,我们一般开发会分为dev、sit、uat、pro等环境,不同的环境配置也不尽相同,我们可以使用nacos的namespace来解决这个问题,后续再来说明。

    相关文章

      网友评论

        本文标题:springboot使用nacos做配置中心

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