简介
动态配置服务可以让您以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。
动态配置消除了配置变更时重新部署应用和服务的需要,让配置管理变得更加高效和敏捷。
配置中心化管理让实现无状态服务变得更简单,让服务按需弹性扩展变得更容易。
Nacos 提供了一个简洁易用的UI (控制台样例 Demo) 帮助您管理所有的服务和应用的配置。Nacos 还提供包括配置版本跟踪、金丝雀发布、一键回滚配置以及客户端配置更新状态跟踪在内的一系列开箱即用的配置管理特性,帮助您更安全地在生产环境中管理配置变更和降低配置变更带来的风险。
先前用的Appllo,现在可以一件多用了
Nacos配置


项目名称为webservice,本项目配置文件格式为properties
添加完毕后,发布
后端代码
Pom文件
<!--作为配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
application.properties
spring.application.name=webservice
server.port=8080
swagger2.enable=true
#作为注册中心IP+端口
nacos.discovery.server-addr=127.0.0.1:8848
#作为配置中心,只使用注册中心可不配置
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
类
package com.glj.webservice.demo.controller;
import com.glj.webservice.demo.client.JasptEncryptorClient;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
/**
* @author leijie.gao
* @version 1.0.0
* @ClassName NacosController.java
* @Description TODO
* @createTime 2021年01月28日 14:14:00
*/
@RestController
@RequestMapping("/nacos")
@RefreshScope
@Slf4j
public class NacosController {
@Value("${webservice.name}")
private String configName;
@GetMapping("/getConfigName")
public String getConfigName() {
return configName;
}
}
效果

更改内容



此注解如不添加,修改配置中心内容后,无法生效
如果配置中心和application.properties有相同配置,以配置中心为主。
结束语
Nacos 的功能还有很多,包括发布订阅、动态 DNS 服务、元数据管理等功能,后期有时间补上。
网友评论