springboot使用nacos做配置中心

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引入依赖
    
        1.8
        0.2.1
    
      
            com.alibaba.boot
            nacos-config-spring-boot-starter
            ${nacos-config-spring-boot.version}
        
        
            com.alibaba.boot
            nacos-config-spring-boot-actuator
            ${nacos-config-spring-boot.version}
        
  • 启动类添加注解
    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做配置中心)