nacos,官方介绍【一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台】,本文我们先来了解它的配置管理。官方网址
分布式配置中心有多个,包括Apollo、Disconf等等,已经有大神做了各种对比,技术没有好坏,选择适合自己的最好,我们选择nacos是结合了它的服务发现和服务管理,这一块后面再说,今天我们先来看看如何使用它的配置管理。
一、服务端
- 先从官方下载nacos-server-$version.zip,目前建议使用稳定版v1.4.1
- 扔到服务器上(建议linux,windows也可以,只是启动脚本不同),解压
- 执行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来解决这个问题,后续再来说明。
网友评论