Nacos Config 微服务配置中心
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。
Spring Cloud Alibaba Nacos Config 可以在 Nacos Server 集中管理 Spring Cloud 应用的外部属性配置。
本文介绍Nacos Config的使用和Spring Cloud应用的属性外部化配置。Nacos既作为注册中心,同时也是配置中心
1、创建maven工程service-config
在IDEA中创建maven工程service-config
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-boot.version>2.2.5.RELEASE</spring-boot.version><spring-cloud.version>Hoxton.SR4</spring-cloud.version><spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version></properties><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;public class RegisterApplication {public static void main(String[] args) {SpringApplication.run(RegisterApplication.class, args);}}
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;public class RegisterApplication {public static void main(String[] args) {SpringApplication.run(RegisterApplication.class, args);}}
server.port=4010spring.application.name=service-configspring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
2、运行程序
从https://github.com/alibaba/nacos/releases 下载最新版的nacos(本文使用1.2.1),下载后解压缩,单机模式运行Nacos:
Windows下双击bin目录下的 startup.cmd
Linux下在bin目录下执行 sh startup.sh -m standalone
Nacos的具体介绍可参见文章
在IDEA左侧导航栏右键菜单选择 Maven > Reimport 刷新Maven配置,点击工具栏上的运行按钮,即可运行SpringBoot程序
程序运行起来后,登录Nacos http://localhost:8848/nacos,访问服务管理>服务列表可看到service-config已经注册到了Nacos中
访问http://localhost:4010/config/get 页面显示false,如下图:
false是从程序默认值中获取到的,下面介绍通过Nacos的外部配置来改变useLocalCache的值
3.1 属性外部配置
访问Nacos左侧导航“配置管理>配置列表”,点击最右侧的“+”
跳转到新建配置页面,如下图:
Data ID输入service-config.propertiess,配置格式选择properties,配置内容填写 useLocalCache=true,然后点击底部的发布按钮,页面提示新建的配置。
重新访问 http://localhost:4010/config/get 显示true,说明属性外部化配置成功,如下图:
获取本文代码可访问:https://github.com/morethank-projects/spring-cloud-alibaba.git
本文内容到此结束。
