SpringCloud Alibaba(四) - Nacos 配置中心
1、环境搭建
1.1 依赖
<!-- nacos注册中心 注解 @EnableDiscoveryClient -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- nacos配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1.2 bootstrap.properties 配置
# 端口
server.port=9607
# 服务名
spring.application.name=kgcmall96-nacos-config
# nacos 配置中心 的地址
spring.cloud.nacos.server-addr=127.0.0.1:8848
# 指定nacos配置中心支持的配置文件后缀,注意:nacso上增加的配置文件后缀要跟此处一致,默认值properties
spring.cloud.nacos.config.file-extension=yml
1.3 请求
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心测试入口
*/
@RestController
public class KgcMallNacosConfigController {
//单个读取远程配置中心的公共配置参数
@Value("${kh96.nacos.config:kh96-default}")
private String kh96NacosConfig;
/**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 读取远程nacos配置中心添加的统一自定义配置,返回
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
return kh96NacosConfig;
}
}
1.4 添加远程配置文件
1.4.1 添加

1.4.2 配置信息

1.4.3 添加成功

1.5 测试

1.6 修改配置信息

1.7 再次 测试

1.8 重启项目测试

2、配置信息实时刷新
每次修改配置文件都需要重启项目,十分麻烦,需要设置实时刷新;
2.1 添加注解
@RestController
@RefreshScope //nacos配置动态刷新注解
public class KgcMallNacosConfigController {
......
}
2.2 测试

3、批量读取配置信息
3.1 配置类
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: KgcMallNacosConfig
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "kh96.nacos")
@Data
public class KgcMallNacosConfig {
/*
测试 批量读取 配置信息
*/
private String config;
}
3.2 请求
/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心测试入口
*/
@RestController
public class KgcMallNacosConfigController {
@Autowired
private KgcMallNacosConfig kgcMallNacosConfig;
/**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 读取远程nacos配置中心添加的统一自定义配置,返回
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
//测试 批量读取
return kgcMallNacosConfig.getConfig();
}
}
3.3 测试

4、读取配置文件的组成
prefix-active-extension
prefix:前缀,默认为服务名
active:激活环境
extension:文件后缀(propertion或者yml),需要跟配置中心一致
${spring.cloud.nacos.config.prefix}.${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
4.1 active指定配置环境
# 指定nacos配置中心支持的配置文件后缀,注意:nacso上增加的配置文件后缀要跟此处一致,默认值properties
spring.cloud.nacos.config.file-extension=yml
# 指定环境
# 配置文件前缀(默认以 服务名为前缀)
spring.cloud.nacos.config.prefix=config
## 指定激活环境
spring.profiles.active=test
# 最终拼接出来的就是 config-test-yml
4.2 添加配置文件

4.3 测试

5、命名空间 和 分组
5.1 添加命名空间


5.2 指定命名空间个分组
# 指定nacso配置中心的名称空间,配置的是对应名称空间的id值,不是名称
# 官方建议:namespace名称空间,作为环境区分,不同环境,使用不同的名称空间
spring.cloud.nacos.config.namespace=0e35ec99-dfac-45eb-84bb-e9d8a35f726e
# 指定名称空间下的分组,一般都是用于区分相同环境加的不同应用项目组,如果不配合配置,默认使用的是当前名称空间下的默认分组DEFAULT_GROUP,也支持自定义分组
spring.cloud.nacos.config.group=KH96_GROUP
5.2.1 添加配置

6、配置文件级别
6.1 配置文件级别
主配置 > 扩展配置 > 共享配置
相同类型配置下,下标越大优先级越高;
6.2 共享配置
6.2.1 配置信息
# nacos 的共享配置,此配置项是一个数组,数组的下标越大,优先级越高,同等的共享配置,高优先级自动覆盖低优先级
# 提醒:nacos所有的配置中,主配置存在的情况下,具有最高优先级,同等配置不会被共分享配置覆盖(所以先删除主配置)
spring.cloud.nacos.config.shared-configs[0].data-id=kgcmall96-shared-config.yml
spring.cloud.nacos.config.shared-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true
6.2.2 添加配置文件

6.2.3 测试
需要先删除主配置,因为它优先级最高;


6.2.4 在配置一个共享配置,下标1
# 下标1覆盖下标0的配置
spring.cloud.nacos.config.shared-configs[1].data-id=kgcmall96-priority-config.yml
spring.cloud.nacos.config.shared-configs[1].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[1].refresh=true
6.2.5 添加配置文件

6.2.6 测试

6.3 扩展配置
6.3.1 配置信息
## nacos扩展配置,此配置项是一个数组,数组的下标越大,优先级越高,同等的共享配置,高优先级自动覆盖低优先级
## 扩展配置的优先级低于主配置,高于共享配置,如果某种场景下需要单独覆盖共享配置,就可以使用扩展配置,比如某个oracle,其他都意思mysql
spring.cloud.nacos.config.extension-configs[0].data-id=kgcmall96-extend-config.yml
spring.cloud.nacos.config.extension-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true
6.3.2 添加配置文件

6.3.3 测试

SpringCloud Alibaba(四) - Nacos 配置中心的更多相关文章
- Spring Cloud Alibaba(5)---Nacos(配置中心)
Nacos(配置中心) 有关Spring Cloud Alibaba之前写过四篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring C ...
- 快速搭建 SpringCloud Alibaba Nacos 配置中心!
Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录.而 Nacos 作为 Spring Cloud Alibaba 的核心 ...
- Spring Cloud 系列之 Alibaba Nacos 配置中心
Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...
- 微服务从nacos配置中心获得配置信息
一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...
- Nacos配置中心使用
在系统开发过程中,开发者通常会将一些需要变更的参数.变量等从代码中分离出来独立管理,以独立的配置文件的形式存在.目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进 ...
- Nacos配置中心和服务的注册发现
在上一篇中,我们已经把Nacos的集群搭建好了,那么既然已经搭建好了,就要在咱们的项目中去使用.Nacos既可以做配置中心,也可以做注册中心.我们先来看看在项目中如何使用Nacos做配置中心. Nac ...
- SpringBoot使用Nacos配置中心
本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...
- Nacos配置中心
本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...
- SpringCloud系列之分布式配置中心极速入门与实践
SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...
- Spring Cloud Config、Apollo、Nacos配置中心选型及对比
Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...
随机推荐
- Hadoop未授权访问
Hadoop未授权访问 是什么? Hadoop 是一种用来处理和存储大量数据的软件工具,可以用来日志分析,推荐系统,数据备份 核心组件: 存储大数据:HDFS 文件系统 处理大数据:MapRedu ...
- 经典强化学习算法:分层强化学习算法 —— options算法
论文地址: https://people.cs.umass.edu/~barto/courses/cs687/Sutton-Precup-Singh-AIJ99.pdf 分层强化学习算法options ...
- 每秒550万亿次算力!打破世界纪录!中国造全球首例纯电驱全尺寸人形机器人!直击全球最快人形机器人“天工”The world's first purely electric humanoid robot
地址: https://www.youtube.com/watch?v=uRc-885NpD4
- 基于 Github 平台的 .NET 开源项目模板 - PR 相关
本篇将介绍开源模板的 PR 相关功能配置 赘述 project.yml 使用周期 文件来源: 运行跟目录下的 scanner.bat/sh 生成的. 文件位置: .github\project.yml ...
- 功能齐全的 WPF 自定义控件资源库(收藏版)
前言 推荐一款界面美观.功能齐全的 WPF 自定义控件资源库.这款资源库通过封装一系列常用的控件,简化开发流程,加快项目交付速度. 控件介绍 资源库封装了一些常用的控件,将其整合到一个自定义的控件库中 ...
- python中的多继承理解
在python的多继承中,父类的初始化顺序遵循所谓方法解析顺序(Method Resolution Order,MRO)的机制.python使用C3线性化算法来确定多继承类的MRO: 1. 目标:创建 ...
- Django admin 结合富文本编辑器tinymce
后台需要加入富文本编辑器于是选择tinymce 官方网站:http://django-tinymce.readthedocs.org/ django-tinymce · PyPI GitHub:Git ...
- vite 分包打包
1.概述 在使用vite打包的时候,一般情况会将依赖包和源码打包到一起,这样的问题是,一般情况依赖包一般情况是不变的,如果打包到一起,程序更新时,就会因为打包指纹发生变化而重新下载,如果进行分包,如果 ...
- WxPython跨平台开发框架之表格数据导出到Excel并打开
在 Python 中使用 wxPython 导出实体类列表数据到 Excel,通常可以借助 openpyxl 或 pandas 库来实现.本篇随笔由浅入深,逐步介绍导出Excel文件的操作,然后结合跨 ...
- Pro更改启动界面
该方法适用于arcgispro 3.1及以上版本,我目前测试到3.3,是可以的. 使用的是pro产品的启动配置文件,利用其中的SplashScreen实现这一需求. 在bin目录下,新建(或编辑)Ar ...