当前位置: 首页 > news >正文

05_Nacos-config配置中心介绍

Nacos-config配置中心介绍

Nacos提供用于存储配置和其他元数据的 key-value存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用Sping Cloud Alibaba Nacos Config,您可以在nacos server集中管理你Spring Cloud应用的外部属性配置。

在这里插入图片描述

1.维护性 2. 时效性 3.安全性

Nacos-config配置管理界面

界面化操作

在这里插入图片描述

Nacos-config权限管理

启动权限:修改application.properties

nacos.core.auth.enabled=true

Nacos-config Client读取配置

1.启动nacos 环境搭建在这里插入图片描述

1.创建maven项目config-nacos,导入依赖

<dependencies>
    <!--   nacos config 依赖 -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
</dependencies>

2.编写启动类

@SpringBootApplication
public class ConfigApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(ConfigApplication.class, args);
        String userName = applicationContext.getEnvironment().getProperty("user.name");
        String userAge = applicationContext.getEnvironment().getProperty("user.age");
        System.err.println("user.name:"+userName+";age: "+userAge);
    }
}

3.配置文件 application.yml

server:
  port: 8050

在运行此 Example之前,必须使用bootstrap.properties(yml)配置文件来配置Nacos Server地址,例如:

配置文件bootstrap.yml

spring:
  application:
    #会自动根据服务名拉取Dataid对应的配置文件,如果不一致,需要手动指定Dataid
    name: com.tian.order
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      config:
        namespace: public

4.启动控制台输出

user.name:田小泽;age: 22

一旦更改管理界面的信息,那么就会即刻感知

Nacos-config—其他扩展配置

spring:
  application:
    #会自动根据服务名拉取Dataid对应的配置文件,如果不一致,需要手动指定Dataid
    name: com.tian.order
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      config:
        namespace: public  # 默认就是public不用配置省的一直打印信息
        #nacos客户端不配置 默认是properties文件扩展名
        #file-extension: yaml  用这个修改默认配置
        #group: tian #更加细分
        shared-configs:   # 手动指定Dataid
          - data-id: com.tian.common01.properties  #相当于下标0
            refresh: false # 不动态感知 修改配置文件它不知道 一般不改,默认为true
          - data-id: com.tian.common02.properties  #相当于下标1
            refresh: true
        extension-configs[0]:
          data-id: com.tian.common03.properties
          refresh: true

# 配置文件的优先级(优先级大的会覆盖优先级小的,并且会形成互补)
#profile > 默认配置文件 >extension-configs(下标越大优先级越大) > shared-configs(下标越大优先级越大)

Nacos-config—@RefreshScope

@Value注解可以获取到配置中心的值,但是无法动态感知修改后的值,需要利用@RefreshScope注解

@RestController
@RefreshScope
public class TestController{
    @value("${common.age}")
    private String age;
    
    @GetMapping("/common")
    public String hello(){
        return age;
    }
    
}

相关文章:

  • 2022年9月深圳NPDP产品经理认证,【进入了解】
  • 字节架构师分析Spring Boot源码:日志、缓存、Web服务等
  • 自定义vue项目的雷达图组件
  • CREO:CREO软件之工程图【表】之一明细表、表格创建、创建BOM球标、自动生成零件报表的简介及其使用方法(图文教程)之详细攻略
  • 接口测试实战 | Android 高版本无法抓取 HTTPS,怎么办?
  • 嵌入式开发:清理可重用软件的API
  • Windows与网络基础-3-虚拟机安装Kali Linux
  • 面试题-谈谈你对JVM的理解
  • 面试时Dubbo原理记不住?来看看《Dubbo原理浅析——从RPC本质看Dubbo》
  • 开源治理:安全的关键
  • 什么是快应用?与原生APP相比优势在哪里
  • 卷积神经网络结构有哪些,卷积神经网络结构特点
  • 阿里内部首发面试终极指南V3.0,相对一线大厂面试知识点+面试题
  • vue路由原理
  • idea常用快捷键和插件
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • android 一些 utils
  • CentOS 7 修改主机名
  • conda常用的命令
  • HTTP请求重发
  • Java 多线程编程之:notify 和 wait 用法
  • Java 网络编程(2):UDP 的使用
  • js正则,这点儿就够用了
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Markdown 语法简单说明
  • Meteor的表单提交:Form
  • Netty源码解析1-Buffer
  • nodejs:开发并发布一个nodejs包
  • SpiderData 2019年2月13日 DApp数据排行榜
  • 阿里云购买磁盘后挂载
  • 闭包,sync使用细节
  • 回顾2016
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 追踪解析 FutureTask 源码
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • ​iOS实时查看App运行日志
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #include<初见C语言之指针(5)>
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (备忘)Java Map 遍历
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (汇总)os模块以及shutil模块对文件的操作
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (接口封装)
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (一)80c52学习之旅-起始篇