SpringBoot使用Nacos配置中心
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心。
Nacos简介
Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。它可以帮助您轻松构建云本机应用程序和微服务平台。
Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务。
尤其是使用Eureka注册中心的,并且担心Eureka闭源的开发者们,可以将注册中心修改为Nacos,本文主要介绍Nacos配置中心的使用。 nacos官网
Nacos安装
Nacos安装可以采用如下两种方式:
1.官网下载稳定版本解压使用。
2.下载源代码编译使用,目前最新的版本是0.8.0版本。
本文简单介绍一下第二种方式,到Nacos的稳定版本下载地址,下载最新版,本文下的是tag.gz文件,下载后解压即安装完成,然后进入解压目录后的bin目录执行如下命令启动Nacos。
sh startup.sh -m standalone
启动可以看到控制台,端口号是8848(好像是因为珠穆朗玛峰的高度),版本等信息。
SpringBoot使用Nacos
1. 项目中加入使用Nacos配置中心的依赖spring-cloud-starter-alibaba-nacos-config
,pom文件如代码所示。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${latest.version}</version>
</dependency>
版本对应关系参考:版本说明 Wiki
2. 在bootstrap.properties
中配置 Nacos server 的地址和应用名
### nacos访问地址
spring.cloud.nacos.config.server-addr=
### 配置文件后缀
spring.cloud.nacos.config.file-extension=yaml
### nacos命名空间id
spring.cloud.nacos.config.namespace=
### nacos访问地址的用户名(如果开启了身份认证)
spring.cloud.nacos.config.username=
### nacos访问地址的密码
spring.cloud.nacos.config.password=
### Nacos是一个内部微服务组件,需要在可信的内部网络中运行,不可暴露在公网环境,防止带来安全风险。
### Nacos提供简单的鉴权实现,为防止业务错用的弱鉴权体系,不是防止恶意攻击的强鉴权体系。
### 如果运行在不可信的网络环境或者有强鉴权诉求,请参考官方简单实现做替换增强。
### springboot项目名
spring.application.name=
### 当前环境对应的 profile
spring.profiles.active=
在 Nacos 中,dataId
的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
- prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
- spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
- file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
3. 通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新:
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${useLocalCache:false}")
private boolean useLocalCache;
@RequestMapping("/get")
public boolean get() {
return useLocalCache;
}
}
4. 登录nacos界面修改发布配置.
(完)