Nacos配置管理服务

news/2024/10/17 17:23:58/

统一配置管理

功能:对配置文件相同的微服务进行配置文件的统一管理。

统一配置管理是解决场景:普通情况下,多个相同功能的微服务实例,更改配置的话得一个一个更改后重启的情况。

核心配置放在配置管理服务中,启动时微服务读取配置管理服务中的核心配置与自身的配置相结合后启动。

配置管理服务中配置更改后会自动通知所需的微服务,微服务读取后会自动完成热更新

在配置管理->配置列表中添加:

代码配置流程

项目启动->bootstrap.yml->读取nacos配置文件->读取本地application.yml->创建spring容器->加载bean。

1、引入Maven依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2、创建bootstrap.yml

服务名+开发环境+文件后缀名,组成data id,也就是:${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

spring:application:name: userservice #eureka的服务名称profiles:active: dev  #开发环境cloud:nacos:server-addr: localhost:8848  # nocos服务器地址config:file-extension: yaml  #文件后缀名

使用的时候:

@Value("${pattern.dateformat}")
private String dateFormat;

配置热更新

更新后大概五秒生效

方法一:使用@RefreshScope

在使用@Value的类上使用@RefreshScope注解能够实现热更新。

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {@Value("${pattern.dateformat}")private String dateFormat;@GetMapping("date")public String now() {return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateFormat));}
}

 方法二:使用@ConfigurationProperties(推荐)

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional>
</dependency>
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;
}
@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope
public class UserController {@Autowiredprivate PatternProperties properties;@GetMapping("date")public String now() {return LocalDateTime.now().format(DateTimeFormatter.ofPattern(properties.getDateformat()));}
}

多环境配置共享

有些值在开发、测试、生产的时候值是不变的,就适合用多环境配置共享。

多种配置优先级:服务名-profile.yaml > 服务名称.yaml > 本地配置


http://www.ppmy.cn/news/1063107.html

相关文章

学习笔记|课后练习解答|电磁炉LED实战|逻辑运算|STC32G单片机视频开发教程(冲哥)|第八集(下):课后练习分析与解答

文章目录 课后练习解答需求分解增加KEY3控制代码如下&#xff1a; 第一版代码问题分析Tips&#xff1a;STC-ISP的设置 Tips&#xff1a;定时器实现完整电磁炉显示功能的代码测试流程 总结 课后练习解答 增加按键3&#xff0c;按下后表示启动&#xff0c;选择的对应的功能的LED…

RAC sid=‘*‘ 最好加上 v$system_parameter

实验结论&#xff1a;在RAC环境中&#xff0c;最好修改参数sid* 安全可靠&#xff0c;因为暂时未明确知道哪些参数是默认全局修改&#xff0c;什么参数是默认单节点修改的&#xff0c;* 靠谱&#xff0c;不容易出问题 在RAC环境中&#xff0c;修改全局参数scopespfile生效时&am…

金蝶云星空和伯俊ERP接口打通对接实战

金蝶云星空和伯俊ERP接口打通对接实战 对接源平台:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践&#xff0c;面向事业部制、多地点、多工厂等运营协同与管控型企业及集团公司&#xff0c;提供一个通用的ERP服务平台。K/3Cloud支持的协同应用包括…

VS中插入Qt插件后配置项目笔记

Project下要创建四个文件夹: bin(输出目录\工作目录) 、include(头文件目录) 、lib(动态库目录) 、src(源码目录) 一、主项目模块配置&#xff1a; 1.配置属性——>常规——>输出目录加入(..\..\bin\) 2.配置属性——>调试——>工作目录加入($(OutDir)) 备注&am…

未备案域名是否可以使用

中国大陆的机房&#xff0c;域名都是需要有备案才可以使用的。根据中华人民共和国信息产业部第十二次部务会议审议通过的《非经营性互联网信息服务备案管理办法》条例 &#xff0c;在中华人民共和国境内提供非经营性互联网信息服务&#xff0c;应当办理备案。未经备案&#xff…

优化器调整策略

损失函数的作用是衡量模型输出与真实标签的差异。当我们有了这个loss之后&#xff0c;我们就可以通过反向传播机制得到参数的梯度&#xff0c;那么我们如何利用这个梯度进行更新参数使得模型的loss逐渐的降低呢&#xff1f; 优化器的作用 Pytorch的优化器&#xff1a; 管理并…

Java 时间日期处理,工作必用(建议收藏)

工作中经常会遇到对时间日期进行处理的业务&#xff0c;像日期类的API个人觉得不需要背&#xff0c;需要的时候去查资料就行。我整理了Java8之前及之后日期类常用的时间日期处理方法&#xff0c;方便工作需要时查找&#xff0c;觉得有用的朋友可以收藏。 一、日期格式化和解析 …

Macbook pro M1 安装Ubuntu教程

先讲下心路历程 由于版主最近刚切换到Mac&#xff0c;所以在安装的时候一上手就选择了virutalbox&#xff0c;结果报错“The installer has detected an unsupported architecture. VirtualBox only runs on the amd64 architecture.” 后来去Reddit论坛上一看&#xff0c;才知…