首页 > 其他分享 >【Spring Cloud Alibaba】Nacos 配置中心

【Spring Cloud Alibaba】Nacos 配置中心

时间:2023-07-04 18:22:37浏览次数:34  
标签:spring 配置 Nacos Alibaba nacos Spring config yml cloud

目录

1. Nacos 配置中心快速入门

版本控制:

  • Spring Cloud 版本为Hoxton.SR9
  • Spring Cloud Alibaba 版 本 为 2.2.6.RELEASE
  • Spring Boot 版 本 为2.3.2.RELEASE

1.1 导入依赖

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

1.2 在 Nacos 中新建一个 powernode 的命名空间

生成了一个 id,记住这个 id:682694f9-214b-4afb-9f10-64b2e602d7c4

1.3 NacosServer 里面添加一个配置文件

1.4 项目中添加一个配置文件 bootstrap.yml

server:
  port: 8188

spring:
  application:
    # 应用名称
    name: config-client-a
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: localhost:8848
        namespace: 682694f9-214b-4afb-9f10-64b2e602d7c4
      config:
        # 配置中心地址
        server-addr: localhost:8848
        namespace: 682694f9-214b-4afb-9f10-64b2e602d7c4
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

2. Nacos 获取多配置文件

修改项目的配置文件

server:
	port: 8080
spring:
	application:
		name: config-client-a
	cloud:
		nacos:
			config:
				server-addr: localhost:8848
				namespace: 5510ef39-ca9a-4f5d-87ba-7fb2afbf7035 # 命名空间 注意使用 id
				extension-configs: # 配置多个配置文件 数组形式
					- data-id: config-a.yml # 配置 id,必须要加文件后缀
						group: GROUP_A # 组别
						refresh: true # 是否支持刷新,是
					- data-id: config-b.yml
						group: GROUP_B
						refresh: false # 是否支持刷新,否

说明:

  • spring.cloud.nacos.config.extension-configs[n].dataId , 指 定 多 个 配 置 的dataId,必须包含文件格式,支持 properties、yaml 或 yml;
  • spring.cloud.nacos.config.extension-configs[n].group,指定分组;
  • spring.cloud.nacos.config.extension-configs[n].refresh,是否支持刷新。

上面的配置中,我们分别从 DEFAULT_GROUP 中获取了 config-a.yml 和 config-b.yml 配置内容,并且 config-a.yml 支持刷新,config-b.yml 不支持刷新。

3. Nacos Config 常用的配置

3.1 Config 常用配置

配置项 Key 默认值 说明
服务端地址 spring.cloud.nacos.config.server-addr
DataId 前缀 spring.cloud.nacos.config.prefix spring.application.name
Group spring.cloud.nacos.config.group DEFAULT_GROUP
dataID 后缀及内容文件格式 spring.cloud.nacos.config.file-extension properties dataId 的后缀,同时也是配置内容的文件格式,properties/yaml
配置内容的编码方式 spring.cloud.nacos.config.encode UTF-8 配置的编码
获取配置的超时时间 spring.cloud.nacos.config.timeout 3000 单位ms
配置的命名空间 spring.cloud.nacos.config.namespace 常用场景之一是不同环境的配置的区分隔离,例如开发测
是否开启监听和自动刷新 spring.cloud.nacos.config.refresh.en abled true

3.2 bootstrap.yml 模板

server:
  port: 8188

spring:
  application:
    # 应用名称
    name: config-client-a
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: localhost:8848
        namespace: 682694f9-214b-4afb-9f10-64b2e602d7c4
      config:
        # 配置中心地址
        server-addr: localhost:8848
        namespace: 682694f9-214b-4afb-9f10-64b2e602d7c4
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

标签:spring,配置,Nacos,Alibaba,nacos,Spring,config,yml,cloud
From: https://www.cnblogs.com/lihw/p/17526686.html

相关文章

  • 条件注解之@ConditionalOnProperty注解:通过配置文件的配置来控制配置类是否加入spring
    一、条件注解分类常见的@ConditionalOnxxx开头的注解我们称之为条件注解,常见的条件注解有class条件注解:@ConditionalOnClassbean条件注解:@ConditionalOnBean属性条件注解:@ConditionalOnProperty…@ConditionalOnProperty:如果有指定的配置,条件生效;@ConditionalOnBean:如果......
  • rabbitmq在springboot中实战技巧
    一.简介rabbitmq是基于AMQP(AdvancedMessageQueuingProtocol:高级消息队列协议),采用Erlang语言编写的消息队列。二、mq能用来做什么异步处理:将非核心业务(比如日志、邮件、监控等)从主流程剥离,提升主流程的响应时效。削峰:当并发大的情况下,可以将消息暂存在消息队列中,消费者按照......
  • Springboot : 连接ldap超时问题
    Err:java.net.ConnectException:Connectiontimedoutwhenconnectingtoldap使用springbootldap连接账号所属ldap目录验证时,出现如上报错经检查,host,username,password等信息均无误,如下为代码中的配置信息示例hashEnv.put(Context.SECURITY_AUTHENTICATION,"simple"......
  • 面试题-Spring 面试集
    Spring面试集基于SpringFramework4.x总结的常见面试题,系统学习建议还是官方文档走起:https://spring.io/projects/spring-framework#learn一、一般问题开发中主要使用Spring的什么技术?IOC容器管理各层的组件使用AOP配置声明式事务整合其他框架Spring有哪些优......
  • 面试题-SpringBoot
    概述说说SpringBoot和Spring的关系springboot我理解就是把springspringmvcspringdatajpa等等的一些常用的常用的基础框架组合起来,提供默认的配置,然后提供可插拔的设计,就是各种starter,来方便开发者使用这一系列的技术,套用官方的一句话,spring家族发展到今天,已经......
  • 通过Spring Boot三分钟创建Spring Web项目
    SpringBoot简介接下来我们所有的Spring代码实例将会基于SpringBoot,因此我们先来了解一下SpringBoot这个大杀器。Spring早期使用XML配置的方式来配置SpringBeans之间的关系,比如AOP和依赖注入的配置。随着功能以及业务逻辑的日益复杂,应用便会伴随大量的XML配置文件以及复杂的Bean......
  • 实战项目:构建基于Spring Boot和Vue.js的金融项目分享
    学习SpringBoot和Vue.js结合的前后端分离项目可以按照以下步骤进行:掌握SpringBoot:学习SpringBoot的基本概念和核心特性,如自动配置、起步依赖、注解驱动等。了解Spring框架的基本知识,如IoC容器、AOP、MVC模式等。学习Vue.js:学习Vue.js的基本语法、指令和组件,理解Vue实例、数据绑......
  • nacos-sdk-go/v2版本 提示客户端连接不上
    nacos-sdk-gov2报错提示客户端连接不上标签(空格分隔):nacos前言nacos版本:v2nacos-sdk-go版本:v2背景:使用nacos-sdk-go来获取配置,发现一直在找缓存目录的文件,但使用openapi可以获取到配置报错信息clientnotconnected,currentstatus:STARTING提示客户端连接失败???1999-0......
  • springboot封装redission的分布式锁逻辑为注解
    场景概述使用分布式锁的时候,每次都需要使用trycatch处理方法中的逻辑。考虑是否可以这块逻辑抽离出来。实现在自定义的注解中添加属性来设置锁的等待时间、租赁时间和时间单位importjava.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTI......
  • Spring容器获取Bean的9种方式
    1前言随着SpringBoot的普及,Spring的使用也越来越广,在某些场景下,我们无法通过注解或配置的形式直接获取到某个Bean。比如,在某一些工具类、设计模式实现中需要使用到Spring容器管理的Bean,此时就需要直接获取到对应的Bean。本文为大家整理汇总了常见的获取Bean的方式,并提供一些优......