进一步减少不必要的重复工作,最近打算在把之前的项目重构成 SpringBoot 项目之后,进一步将项目的配置配置中心化。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
Nacos 通过下载发行包或者编译源码包来获取。
git clone https://github.com/alibaba/nacos.git cd nacos/ mvn -Prelease-nacos clean install -U ls -al distribution/target/ // change the $version to your actual path cd distribution/target/nacos-server-$version/nacos/bin `
您可以从 最新稳定版本 下载 nacos-server-$version.zip 包。
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz cd nacos/bin
Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):
sh startup.sh -m standalone
Windows
启动命令:
cmd startup.cmd
或者双击startup.cmd运行文件。
新建 springboot 的 web项目,可以通过 SpringBoot start 来新建。并添加 Nacos 的配置中心依赖。
<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>nacos-config-spring-boot-starter</artifactId> <version>0.2.1</version> </dependency>
创建 Controller 并添加 Nacos 的配置注解。
/** * @author wuhf * @Date 2019/3/14 19:28 **/ @NacosPropertySource(dataId = "goocity-test", groupId = "goocity-test",autoRefreshed = true) @RestController public class HelloController { @NacosValue(value = "${bus.pay.udids:null}", autoRefreshed = true) private String busPayUdid; @GetMapping("/hello") public String test() { System.out.println(busPayUdid); return busPayUdid; } }