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=4010
spring.application.name=service-config
spring.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
本文内容到此结束。