SpringCloud Alibaba Nacos配置中心

Nacos简介

Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。它可以帮助您轻松构建云本机应用程序和微服务平台。 Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务。

如果微服务架构中没有使用统一配置中心时,所存在的问题:

    配置文件分散在各个项目里,不方便维护 配置内容安全与权限 更新配置后,项目需要重启

nacos配置中心的作用:系统配置的集中管理(编辑、存储、分发)、动态更新不重启、回滚配置(变更管理、历史版本管理、变更审计)等所有与配置相关的活动。

1、微服务配置中心背景

    该文章详细介绍了微服务简介

2、SpringBoot使用Nacos

    创建项目,项目中加入使用Nacos配置中心的依赖
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		
		<dependency>
			<groupId>com.alibaba.boot</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>0.2.1</version>
		</dependency>
	</dependencies>
    配置文件Application.yml
spring:
  application:
    name: nacos-config
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        file-extension: yaml
        prefix: nacos-config
  profiles:
    active: dev
@RestController
@RequestMapping("/v1")
@RefreshScope
public class HelloController {
          
   

    @Value("${useLocalCache:false}")
    private boolean useLocalCache;

    @RequestMapping("/get")
    public boolean test(){
          
   
        return useLocalCache;
    }
}
然后在控制层添加@RefreshScope 此注解就可以根据配置文件中的改变,动态的改变,从配置文件获取的信息
    启动项目访问:http://localhost:8080/v1/get 在配置中心添加一个配置
Data ID的命名规则:
${
          
   prefix}-${
          
   spring.profile.active}.${
          
   file-extension}
前缀-名称.扩展名
(1)prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。

(2)spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档

(3)file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。
	 目前只支持 properties 和 yaml 类型。

  注意,当 activeprofile 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {
          
   prefix}.{
          
   file-extension}
    就可以动态改变useLocalCache的值: 后边再想改变就可以直接修改此文件就行
经验分享 程序员 微信小程序 职场和发展