Spring Cloud - Nacos 配置统一管理、热部署、多环境配置共享

这篇具有很好参考价值的文章主要介绍了Spring Cloud - Nacos 配置统一管理、热部署、多环境配置共享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Nacos 配置统一管理

1.1、启动 Nacos 服务

1.2、Nacos 新建配置

1.3、引入依赖

1.4、Nacos 地址读取 

 1.5、演示效果

二、Nacos 配置热部署

三、多环境配置共享


一、Nacos 配置统一管理


1.1、启动 Nacos 服务

在当前文件下打开终端,输入如下指令启动 nacos 服务

./startup.cmd -m standalone

1.2、Nacos 新建配置

访问 nacos 主页,点击配置管理查看配置列表,然后新建配置如下

nacos热部署,Spring Cloud,java,开发语言,spring cloud

Ps:以上命名也可以不指定后缀名,只需要在配置格式中选中所需的格式即可.

profile 如果 bootstrap 中配置了就要写.

1.3、引入依赖

引入Nacos的配置管理客户端依赖

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

1.4、Nacos 地址读取 

经过前面的步骤,我们已经新建一个 nacos 的配置文件,项目一启动就会去加载这个配置文件然后合并到 application.yml 中,那么怎么才能先去加载这个 nacos 新建的配置文件呢?首先就是要通过 bootstrap.yml 这个配置文件(bootstrap.yml 的加载优先级高于 application.yml)获取到 nacos 的地址,然后才找到并加载 nacos 配置文件~

nacos热部署,Spring Cloud,java,开发语言,spring cloud

 那么我们需要在 resource 目录下创建 bootstrap.yml 配置文件,填写以下内容

Ps:不要忘记注释掉 application.yml 中重复出现的内容

server:
  port: 10010
spring:
  application:
    name: gateway
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # nacos地址
      config: # 能使用 config 的前提就是引入 nacos 配置管理 依赖
        server-addr: localhost:8848 # nacos地址
        file-extension: yaml # 指定配置文件类型

nacos热部署,Spring Cloud,java,开发语言,spring cloud

 1.5、演示效果

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    //注入 nacos 配置
    @Value("${patten.dateformat}")
    private String dateformat;

    //获取配置文件中的格式
    @RequestMapping("/now")
    public String now() {
        log.info("成功读取到 nacos 配置时间格式:" + dateformat);
        return "读取成功";
    }


}

可以看到控制台打印相应日志内容

nacos热部署,Spring Cloud,java,开发语言,spring cloud

二、Nacos 配置热部署


Nacos中的配置文件变更后,微服务无需重启就可以感知。不过需要通过下面两种配置实现:
方式一:在@Value注入的变量所在类上添加注解@RefreshScope
nacos热部署,Spring Cloud,java,开发语言,spring cloud

方式二(推荐,也是企业级开发常用的):使用@ConfigurationProperties注解

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

@Component
@ConfigurationProperties(prefix = "pattern")
@Data
public class ParProperties {

    private String dateformat;

}

Ps:

  • 不是所有的配置都适合放到配置中心,维护起来比较麻烦
  • 建议将一些关键参数,需要运行时调整的参数放到nacos配置中心,一般都是自定义配置

三、多环境配置共享


微服务启动时会从nacos读取多个配置文件:

  • [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml
  • [spring.application.name].yaml,例如:userservice.yaml

无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入这个文件

并且当有多个同样的配置同时存在时,他们存在这样一个优先级:

nacos热部署,Spring Cloud,java,开发语言,spring cloud

nacos热部署,Spring Cloud,java,开发语言,spring cloud文章来源地址https://www.toymoban.com/news/detail-689364.html

到了这里,关于Spring Cloud - Nacos 配置统一管理、热部署、多环境配置共享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Cloud】关于Nacos配置管理的详解介绍

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Spring Cloud》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年02月01日
    浏览(45)
  • Nacos 单机集群搭建及常用生产环境配置 | Spring Cloud 3

    Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 Nacos 致力于帮助您发现、配置和管理微服务。 Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据

    2024年02月03日
    浏览(33)
  • 《Spring Cloud学习笔记:Nacos配置管理 & OpenFeign & LoadBalancer & Getway》

    基于Feign的声明式远程调用(代码更优雅),用它来去代替我们之前的RestTemplate方式的远程调用 首先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不

    2024年02月04日
    浏览(51)
  • Spring Cloud Day2 Nacos配置管理、Feign远程调用与Gateway服务网关

    Nacos除了可以做注册中心,同样可以做配置管理来使用。 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。 Nacos一方面可以将配置集中管理,另一方可以

    2024年02月10日
    浏览(61)
  • cloud Alibab+nacos+gateway集成swaggerui,统一文档管理(注意点)

    首先说明:本文只说整合注意点 效果图和功能参考链接 在网关服务添加依赖即可解决 请注意排查:webflux的依赖是否有效。并且排除spring-boot-starter-web 注意查看gateway的相关配置是否有错误 原因:一定是你的依赖或者配置有问题 有问题请留言

    2024年02月13日
    浏览(44)
  • SpringCoud+nacos部署在多ip环境下统一nacos服务注册ip

    场景描述 方法 配置固定ip 在springcloud服务下的bootstrap.yml文件中配置 指定ip端口 application.properties下 指定ip端口 spring.cloud.nacos.discovery.ip = 127.0.0.1 spring.cloud.nacos.discovery.port = 8989 配置使用内网前缀的ip spring.cloud.inetutils.preferred-networks=10.25.14 使用前缀为10.25.14的ip比如:10.25.14.12

    2024年02月07日
    浏览(36)
  • Spring Cloud集成Nacos实现本地配置优先 | Spring Cloud 9

    Nacos Config Starter 实现了 org.springframework.cloud.bootstrap.config.PropertySourceLocator 接口,并将优先级设置为最高。 在 Spring Cloud 应用启动阶段,会主动从 Nacos Server 端获取对应的数据,并将获取到的数据转换成 PropertySource 且注入到 Environment 的 PropertySources 属性中,所以使用 @Value 注解

    2024年02月15日
    浏览(62)
  • Spring Cloud集成Nacos实现服务配置中心 | Spring Cloud 7

    先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。 配置文件无法区分环境,开发环境、测试环境、线上环境。微服务项目可能会

    2024年02月14日
    浏览(51)
  • 第十二章 Spring Cloud Config 统一配置中心详解

    目录 一、配置问题分析及解决方案 1、问题分析 2、解决方案 二、Spring Cloud Config 介绍 1、Spring Cloud Config特性 2、Spring Cloud Config作用     3、Spring Cloud Config 组件    统一配置中心服务端    统一配置中心客户端 4、Spring Cloud Config 工作流程 三、 配置中心使用 1 搭建远程 git

    2024年02月16日
    浏览(40)
  • Spring Cloud Alibaba nacos配置中心

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代码管理gitlab 使用 第十章 Spr

    2024年02月08日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包