微服务 Nacos配置热部署

news2024/9/24 17:20:57

在nacos中添加配置文件

在配置列表中添加配置,
在这里插入图片描述

在这里插入图片描述

注意:项目的核心配置,需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。

从微服务拉取配置

微服务要拉取nacos中管理的配置,并且与本地的application.yml配置合并,才能完成项目启动。

但如果尚未读取application.yml,又如何得知nacos地址呢?

因此spring引入了一种新的配置文件:bootstrap.yaml文件,会在application.yml之前被读取,流程如下:
在这里插入图片描述
bootstrap.yaml是一种先导的文件,他的执行位于application.yml,可以用他来告诉整个服务的热配置的位置

首先我们引入依赖
首先,在user-service服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

我们在与application.yml同样的目录下建立了bootstrap.yaml文件

# 引导文件
# 他的执行时间比application.yml还要靠前

spring:
  application:
    name: user-server # 服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config:
        file-extension: yaml # 文件后缀名

他主要告诉了三件事,我们服务的名称、开发环境以及文件的后缀。这与我们Nacos中的配置的Data ID是相互对应的。

在这里插入图片描述

利用代码读取nacos配置

方式一:

在user-service中的UserController中添加业务逻辑,读取pattern.dateformat配置:
我们利用@Value("${pattern.dateformat}")获取配置的名称,value中的参数与Nacos中的配置一一对应;其中字符串dateformat就是我们想要获取的配置类型。同时在@Value注入的变量所在类上添加注解@RefreshScope:

@Slf4j
@RestController
@RequestMapping("/user")
@RefreshScope   // 实时扫描
public class UserController {


    @Autowired
    private UserService userService;

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


    @GetMapping("now")
    public String now()
    {
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
    }

方式二

使用@ConfigurationProperties注解代替@Value注解。
在user-service服务中,添加一个类,读取patterrn.dateformat属性:
@ConfigurationProperties(prefix = “pattern”)进行前缀扫描

package cn.itcast.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

    @Component
    @Data
    @ConfigurationProperties(prefix = "pattern")
    public class PatternProperties
    {
        private String dateformat;
    }
>@Autowired
>private PatternProperties patternProperties;
将这个配置类的bean声明进来
利用get函数获取字符串【patternProperties.getDateformat()】
@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @Autowired
    private PatternProperties patternProperties;

    @GetMapping("now")
    public String now(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));
    }

    // 略
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/922220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python多任务

​ 一、多任务 1.1 概念 多任务就是指&#xff1a;同一时间能执行多个任务。比方我们的电脑能一边QQ聊天&#xff0c;一边写论文&#xff0c;还能听歌。 1.2 多任务的优势&#xff1a; 多任务的最大好处是 充分利用CPU资源&#xff0c;提高程序的执行效率。 1.3 多任务的两种表…

SAP 创建维护视图

创建维护视图之前有几个坑&#xff0c;需要小心别踩到 1.不能直接创建维护视图&#xff0c;最好先创建表&#xff0c;然后点击实用程序——>表维护生成器 然后选择权限和函数组&#xff08;函数组选择自己本身&#xff09; 这里的第一个坑就是如果没有选择自己本身&#xf…

el-tree 默认选中第一个数据

/*** 初始化左侧树* param {*} GetDataLists*/SetTreeDatas() {let _this this;_this.$API.SysDictDataGetLeftdata().then((res) > {_this.treeData res.data.data; //给树赋值this.$nextTick(() > {this.$refs.treeList &&this.$refs.treeList.setCurrentKey…

集简云本周新增/更新:新增2大功能,集成2款应用,更新4款应用,新增近20个动作

本周更新概要 新增功能 新增功能&#xff1a;Claude2 新增功能&#xff1a;语聚AI对话助手对话背景设定 应用新增 新增应用&#xff1a;领星ERP 新增应用&#xff1a;slack(自建) 应用更新 更新应用&#xff1a;企业微信(代开发) 更新应用&#xff1a;阿里云效2020(新版…

Java“牵手”快手商品列表数据,关键词搜索快手商品数据接口,快手API申请指南

快手商城是一个网上批发购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取快手商品列表和商品详情页面数据&#xff0c;您可以通过开放平台的接口或者直接访问快手商城的网页来获取商品详情信息。以下是两种常用方法的介绍…

高达照进现实?可驾驶变形机器人问世,4 亿日元即刻“变身”

根据报道&#xff0c; ARCHAX是一款引人注目的机器人&#xff0c;它在机器人模式下可以模仿人类的活动&#xff0c;拥有高达4.5米的身高。在车辆模式下&#xff0c;ARCHAX可以以10公里每小时的速度行驶&#xff0c;重量约为3.5吨。 这款机器人由电池驱动&#xff0c;驾驶舱位于…

飞天使-k8s基础组件分析-持久化存储

文章目录 emptyDirhostpathpv和pvc介绍nfs作为静态pv案例nfs作为动态pv案例使用本地文件夹作为pv改变默认存储类及回收策略参考文档 emptyDir 重启文件还有&#xff0c;但是如果杀了进程&#xff0c;则会丢失文件 创建pod # kubectl apply –f redis.yaml校验pod是否处于运行&…

pyside6--核心版本的信号与槽的小示例

pyside6--核心版本的信号与槽的小示例 一、自定义的信号与槽的示例 1.1界面函数 还是使用上次的常用功能组件的界面&#xff0c;只是这次我 只使用按钮以及标签进行测试 1.2主函数核心代码 # 导入 t1gui_ui _ui from t1gui_ui import Ui_Form from PySide6.QtWidgets import …

Java8 Stream流 flatMap使用

参考链接 import cn.hutool.core.collection.ListUtil; import lombok.AllArgsConstructor; import lombok.Data;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors;public class FlatMapLearn {DataAllArgsConstructorpublic static c…

iOS开发之查看静态库(.a/.framework)中包含的.o文件和函数符号(ar,nm命令)

.a/.framework其实是把编译生成的.o文件&#xff0c;打包成一个.a/.framework文件。a的意思是archive/归档的意思。 查看静态库.a文件包含的内容用下面的命令解压&#xff1a; ar x xxx.a 用ar命令打包静态库&#xff1a; 参数r是将后面的*.o或者*.a文件添加到目标文件中 参数…

赴日工作SaaS/PaaS/IaaS到底有什么区别?

许多开始关注赴日IT的技术流的小伙伴&#xff0c;已经开始关注外网上的一些案件需求或者招聘需求了。那么你会发现很多需求当中都写着开发SaaS/PaaS/IaaS这些词汇&#xff0c;而且出现频率很高&#xff0c;那他们究竟代表什么意思呢&#xff1f; 先来说SaaS&#xff0c;Softwa…

此股必成大器!【海螺水泥】坚定看好-神奇指标网

8.22此股必成大器&#xff01;【海螺水泥】坚定看好 操盘胜率极高的神奇指标系统已经给出了答案&#xff0c;苦等几日今天终于发出多头信号。 从7月底开始&#xff0c;神奇指标叠线重合并且股价站上叠线上&#xff0c;第二个交易日直接跳空高开&#xff0c;预示多头行情的开始。…

年薪100W的PM如何制定项目进度计划?

大家好&#xff0c;我是老原。 做了这么久的项目经理&#xff0c;也带过很多项目&#xff0c;无论是他人估算还是自己预测&#xff0c;都很少有按期完成的项目&#xff0c;要么提前&#xff0c;要么延后&#xff0c;按期完成的无非是熟门熟路十拿九稳&#xff0c;亦或是运气使…

KusionStack使用文档

下载安装 1. 安装 Kusionup 如果想自定义默认安装版本&#xff0c;可以运行下述命令&#xff08;将最后的 openlatest 替换为你想要默认安装的版本号就就行&#xff09;&#xff1a; curl -s "http://kusion-public.oss-cn-hzfinance.aliyuncs.com/cli/kusionup/script…

spark中排查Premature EOF: no length prefix available

报错信息 /07/22 10:20:28 WARN DFSClient: Error Recovery for block BP-888461729-172.16.34.148-1397820377004:blk_15089246483_16183344527 in pipeline 172.16.34.64:50010, 172.16.34.223:50010: bad datanode 172.16.34.64:50010 [DataStreamer for file /bdp/data/u9…

java学习-阻塞队列原理

JAVA 阻塞队列原理 阻塞队列&#xff0c;关键字是阻塞&#xff0c;先理解阻塞的含义&#xff0c;在阻塞队列中&#xff0c;线程阻塞有这样的两种情况&#xff1a; 当队列中没有数据的情况下&#xff0c;消费者端的所有线程都会被自动阻塞&#xff08;挂起&#xff09;&#x…

Linux的软连接和硬链接

1.创建链接 首先ln --help 可以看到默认创建的链接是硬链接。若是要创建符号链接则需要使用-s 参数 格式是&#xff1a; ln 源文件 链接文件 或者 ln -s 源文件 链接文件 2.区别 首先我创建了a和b文件。 然后又分别建立了a的硬链接a2&#xff0c;b的符号链接b2 由图中即可看…

角色属性04----HP

添加两个变量&#xff0c;使用任意伤害事件来扣除HP&#xff0c;蓝图的方式和加速跑差不多 找到一个死亡动画&#xff0c;先ue4重定向ue5小银人&#xff0c;在ue5重定向ue4给低模人物 进入动画&#xff0c;创建hit把死亡动画给它&#xff0c;同时创建一个变量is_hit作为状态转换…

全国最大规模量子计算云平台重磅发布

8月19日&#xff0c;在2023中国算力大会主论坛上&#xff0c;中国移动携手中国电科发布“量子计算云平台”。这是目前国内最大规模的量子计算云平台&#xff0c;也是业界第一次实现“量子与通用算力统一纳管混合调度”的系统级平台。该发布标志着我国量子计算正在逐步走向实用化…

不要再错过晓程科技【300139】了-神奇指标网

8.24不要再错过晓程科技【300139】了 虽然 晓程科技的庄家操盘不怎么的&#xff0c;经常诱多发套吸筹。但是通过神奇指标系统来操盘基本可以完美吃到这几波冲高。包括今天一开盘就入场了&#xff0c;明天有调整的话看情况还可以低吸一口也是稳的。 我们看到今天5月到至今在这个…