社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
Nacos的另外一个重要能力:配置管理
Nacos除了实现了服务的注册发现之外,还将配置中心功能整合在了一起。通过Nacos的配置管理功能,我们可以将整个架构体系内的所有配置都集中在Nacos中存储。这样做的好处,在以往的Spring Cloud Config时也有用到过,主要有以下几点:
1.分离的多环境配置,可以更灵活的管理权限,安全性更高
2.应用程序的打包更为纯粹
新建配置
其中:
Data ID
:填入alibaba-nacos-config-client.properties
Group
:不修改,使用默认值DEFAULT_GROUP
配置格式
:选择Properties
配置内容
:应用要加载的配置内容,这里仅作为示例,做简单配置,比如:useLocalCache=true1.命名为:nacos-config。
2.编辑pom加入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.0.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<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>
<version>2.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<optional>true</optional>
</dependency>
</dependencies>
配置主要做了三件事:
一:定义spring boot的版本这个要以nacos等版本相匹配 这里我用了com.alibaba.cloud的版本
注意:版本 0.2.x.RELEASE 对应的是 Spring Boot 2.x 版本,版本 0.1.x.RELEASE 对应的是 Spring Boot 1.x 版本。
更多版本对应关系参考:版本说明 Wiki
二:spring cloud的版本以及spring cloud alibaba的版本,由于spring cloud alibaba还未纳入spring cloud的主版本管理中,所以需要自己加入
三:当前应用要使用的依赖内容。这里主要新加入了Nacos的配置客户端模块:spring-cloud-starter-alibaba-nacos-config
。由于在dependencyManagement
中已经引入了版本,所以这里就不用指定具体版本了
3.NacosConfigApplication编写
/**
* Hello world!
*
*/
@SpringBootApplication
public class NacosConfigApp
{
public static void main( String[] args )
{
SpringApplication.run(NacosConfigApp.class, args);
}
}
ConfigController编写
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${useLocalCache:false}")
private boolean useLocalCache;
/**
* http://localhost:8080/config/get
*/
@RequestMapping("/get")
public boolean get() {
return useLocalCache;
}
}
4.properties编写
在 bootstrap.properties
中配置 Nacos server 的地址和应用名
说明:之所以需要配置 spring.application.name
,是因为它是构成 Nacos 配置管理 dataId
字段的一部分。
启动应用
访问接口: http://localhost:8072/config/get
SpinrCloud Alibaba系列学习
Sentinel starter 完成 Spring Cloud 应用的限流管理(一)
Spring Cloud Alibaba学习 :使用Nacos结合SpringCloud Gateway 完成 Spring Cloud 服务路由
下一篇 Spring Cloud Alibaba学习 :使用Nacos结合SpringCloud Gateway 完成 Spring Cloud 服务路由
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!