首页 > 其他分享 >Nacos配置管理(七)

Nacos配置管理(七)

时间:2024-01-10 09:44:05浏览次数:30  
标签:application spring 配置 配置管理 Nacos nacos yaml

1 统一配置管理

2 微服务配置拉取

获取配置的步骤如下:

将配置交给Nacos管理的步骤:

  • 在Nacos中添加配置文件;(控制台添加按钮+实现可视化实现)
  • 在微服务中引入Nacos的配置管理客户端(config)依赖;
<dependency>
  <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 在userservice中的resource目录添加一个bootstrap.yml文件,优先级高于application.yml,配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时区nacos读取哪个文件。
spring:
    application:
       name: userserver  #user的服务名称
    profiles:
      active: dev  #开发环境,这里是dev
    cloud:
      nacos:
        server-addr: localhost: 8848  #Nacos地址
        config:
          file-extension: yaml  #文件后缀名

3 配置热更新

Nacos中的配置文件变更后,微服务无需重启就可以感知。不过需要通过下面两种配置实现:

  • 方式一:在@Value注入的变量所在类上添加注解 @RefreshScope;
  • 方式二:使用@ConfigurationProperties,新建类使用该注解
@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateformat;
}

总结:

Nacos配置更新后,微服务可以实现热更新,方式:

  • 通过@Value注解注入,结合@RefreshScope来刷新;
  • 通过@ConfigurationProperties注入,自动刷新;
  • 注意事项:
    • 不是所有的配置都适合放到配置中心,维护起来比较麻烦;
    • 建议将一些关键参数,需要运行时调整的参数放到nacos配置中心,一般都是自定义配置。

4 多环境配置共享

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

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

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

多种配置的优先级:

  • 服务名-profile.yaml > 服务名称.yaml > 本地配置  注:红色字体的Wienacos中的配置

5 Nacos集群搭建

集群搭建步骤:

  • 搭建MySQL集群病初始化数据库表;
  • 下载解压nacos;
  • 修改集群配置(节点信息)、数据库配置;
  • 分别启动多个nacos节点;
  • nginx反向代理

标签:application,spring,配置,配置管理,Nacos,nacos,yaml
From: https://www.cnblogs.com/daytoy105/p/17954725

相关文章

  • Gateway动态路由配置——Nacos
    Gateway一般配置路由的方式有三种,代码、文件、注册中心,但个人感觉使用注册中心的方式去动态更新路由的方式更能契合项目,但是配置会比较麻烦,不如文件和代码去配置简单Nacos加入配置:gateway-router我这里使用的是Json格式id:唯一idpredictates:断言,我使用的是Path断言uri:真实请求的上......
  • 1. 将 XXX 注册成 Windows 服务运行 -- 以Nacos为例
    众所周知,在Windows环境下想要启动nacos需要运行bin目录下的startup.cmd。这样的启动方式需要保证cmd窗口一直开着,只要把这个窗口关掉,nacos服务就停了。所以为了避免人为的误关窗口,把nacos注册成一个winserver就是一个好的选择。这样不仅可以保证nacos一直在后台运......
  • 使用Docker-ompose快速构建Nacos服务
    在微服务架构中,服务的注册与发现扮演着至关重要的角色。Nacos(NamingandConfigurationService)是阿里巴巴开源的服务注册与发现组件,致力于支持动态配置管理和服务发现。最近,一位朋友表达了对搭建一套Nacos开发环境的兴趣。先前,我们曾发布了一篇有关在Linux上直接部署Nacos的文章,标......
  • Docker一键极速安装Nacos,并配置数据库!
    1部署方式1.1DockerHubjavaedge@JavaEdgedeMac-mini~%dockerrun--namenacos\-eMODE=standalone\-eJVM_XMS=128m\-eJVM_XMX=128m\-eJVM_XMN=64m\-eJVM_MS=64m\-eJVM_MMS=64m\-p8848:8848\-dnacos/nacos-server:v2.2.3a624c64a1a25ad2d......
  • Docker一键极速安装Nacos,并配置数据库!
    1部署方式1.1DockerHubjavaedge@JavaEdgedeMac-mini~%dockerrun--namenacos\-eMODE=standalone\-eJVM_XMS=128m\-eJVM_XMX=128m\-eJVM_XMN=64m\-eJVM_MS=64m\-eJVM_MMS=64m\-p8848:8848\-dnacos/nacos-server:v2.2.3a624c64a1a25ad2d......
  • Springboot集成Nacos
    1.添加依赖com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery2.2.9.RELEASEcom.alibaba.cloudspring-cloud-starter-alibaba-nacos-config2.2.9.RELEASE2.注册中心1、把Nacos的Ip和端口配置配置文件中2、在启动类上加上@EnableDiscoveryClient注解3、同一类的服务可......
  • Springboot集成Nacos
    1.添加依赖com.alibaba.cloudspring-cloud-starter-alibaba-nacos-discovery2.2.9.RELEASEcom.alibaba.cloudspring-cloud-starter-alibaba-nacos-config2.2.9.RELEASE2.注册中心1、把Nacos的Ip和端口配置配置文件中2、在启动类上加上@EnableDiscoveryClient注解3、同一类的服务可......
  • go nacos使用
    安装好nacos后,配置操作:第一、创建命名空间第二、代码确认好DataId和Group的值,配置到nacos页面上去第三、首次添加点+号go代码示例packagemainimport("fmt""github.com/nacos-group/nacos-sdk-go/clients""github.com/nacos-group/nacos-sdk-go/common/constant"......
  • Taurus .Net Core 微服务开源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接
    前言:继上篇:Taurus.NetCore微服务开源框架:Admin插件【4-7】-配置管理-Mvc【Plugin-Metric接口调用次数统计】本篇继续介绍下一个内容:1、系统配置节点:Mvc- Plugin-Limit接口访问限制、IP限制、Ack限制:配置界面如下:限制目前提供以下三个类别的限制:1、Rate访......
  • java客户端访问nacos配置使用总结
    客户端访问nacos配置:父工程:com.alibaba.cloudspring-cloud-alibaba-dependencies2021.0.5.0pomimport子工程:<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</art......