【Spring Cloud Alibaba】007-Nacos 配置*

news2024/10/7 14:31:04

【Spring Cloud Alibaba】007-Nacos 配置*

文章目录

  • 【Spring Cloud Alibaba】007-Nacos 配置*
  • 一、概述
    • 1、概述
    • 2、对比 spring cloud config
  • 二、基本使用
    • 1、在管理界面新建配置
    • 2、启动权限
    • 3、 搭建 nacos-config 服务
      • 第一步:引入依赖
      • 第二步:修改 yaml 配置文件
      • 第三步:修改启动类
      • 第四步:运行测试
      • image-20230223162512852
  • 三、动态获取最新配置
  • 四、配置中心原理

一、概述

1、概述

参考:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config

Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使

用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置

jiagou67834rgfsd6

2、对比 spring cloud config

  • spring cloud config 大部分场景结合 git 使用,动态变更还需要依赖 Spring Cloud Bus 消息总线来通过所有的客户端变化;
  • spring cloud config不提供可视化界面;
  • nacos config 使用长轮询更新配置,一旦配置有变动后,通知 Provider 的过程非常的迅速, 从速度上秒杀 spring cloud 原来的 config 几条街。

duibi4355d6

二、基本使用

1、在管理界面新建配置

参考:https://nacos.io/zh-cn/docs/concepts.html

Namespace:代表不同环境,如开发、测试、生产环境。

Group:代表某项目,如XX医疗项目、XX电商项目

DataId:每个项目下往往有若干个工程(微服务),每个配置集(DataId)是一个工程(微服务)主配置文件

image-20230223162541759

2、启动权限

image-20230223152610041

3、 搭建 nacos-config 服务

通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的自动变更

第一步:引入依赖

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

第二步:修改 yaml 配置文件

参考文章:https://www.modb.pro/db/390266

spring:
  application:
    name: order-service
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        username: nacos
        password: nacos
        namespace: public
      config:
        group: DEFAULT_GROUP
        server-addr: localhost:8848
        username: nacos
        password: nacos、
        # 新版命名空间不能使用 public
        namespace: 74065c76-2e4e-44ba-935e-a6f88f44f83c
  config:
    import:
      - optional:nacos:test.yaml

第三步:修改启动类

public static void main(String[] args) {
    ConfigurableApplicationContext context = SpringApplication.run(OrderApplication.class, args);
    String name = context.getEnvironment().getProperty("user.name");
    String age = context.getEnvironment().getProperty("user.age");
    System.out.println("name is " + name + ", age is " + age);
}

第四步:运行测试

image-20230223162512852

三、动态获取最新配置

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

@RestController
@RefreshScope
public class TestController {
    @Value("${user.nickname}")
    private String nickname;
    
    @GetMapping("/user")
    public String hello() {
        return nickname;
    }
}

四、配置中心原理

image-20230223164221450

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

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

相关文章

交叉编译 MQTT/Mosquitto

交叉编译 MQTT/Mosquitto 概述 Eclipse Mosquitto 是一个开源&#xff08;EPL/EDL许可&#xff09;消息代理&#xff0c;它实现了 MQTT 协议版本 5.0、3.1.1 和 3.1。Mosquitto 重量轻&#xff0c;适用于从低功耗单板计算机到全服务器的所有设备。 MQTT 协议提供了一种使用发…

【Linux】-- 开发工具(vim、gcc、g++、make/Makefile)

目录 Linux编辑器-vim使用 vim的基本概念 vim的简单配置 vim的基本操作 vim进阶命令集 插入模式 从插入模式切换为命令模式 移动光标 删除文字 复制 替换 撤销上一次操作 更改 跳至指定的行 vim底行模式命令集 列出行号 跳到文件中的某一行 查找字符 保存文…

黑马程序员 Java 项目《瑞吉外卖》

教程链接&#xff1a;https://www.bilibili.com/video/BV13a411q753 Gitee 仓库&#xff1a;https://gitee.com/weixinyang1980/reggie_take_out 运行视频&#xff1a; 瑞吉外卖后台运行视频 瑞吉外卖用户端运行视频 目录开发环境搭建数据库环境搭建Maven 项目搭建后台登录功能…

通过连接另一个数组的子数组得到一个数组

给你一个长度为 n 的二维整数数组 groups &#xff0c;同时给你一个整数数组 nums 。 你是否可以从 nums 中选出 n 个 不相交 的子数组&#xff0c;使得第 i 个子数组与 groups[i] &#xff08;下标从 0 开始&#xff09;完全相同&#xff0c;且如果 i > 0 &#xff0c;那么…

Python四大主题之一【 Web】 编程框架

目前Python的网络编程框架已经多达几十个&#xff0c;逐个学习它们显然不现实。但这些框架在系统架构和运行环境中有很多共通之处&#xff0c;本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Python网络框架&#xff1a;Django、Tornado、Flask、Twisted。 …

论文复现:风电、光伏与抽水蓄能电站互补调度运行(MATLAB-Yalmip全代码)

论文复现:风电、光伏与抽水蓄能电站互补调度运行(MATLAB-Yalmip全代码) 针对风电、光伏与抽水蓄能站互补运行的问题,已有大量通过启发式算法寻优的案例,但工程上更注重实用性和普适性。Yalmip工具箱则是一种基于MATLAB平台的优化软件工具箱,被广泛应用于工程界优化问题和…

JVM知识最强总结

类加载运行全过程1.java.exe调用底层jvm.dll创建java虚拟机&#xff0c;2.创建引导类加载器实例&#xff0c;3.完成实例的创建后需要一个启动器&#xff0c;这个是通过sun.misc.launcher类实现&#xff0c;通过该类的getLaunch()方法启动&#xff0c;4.然后调用该类的getClassL…

梳理数字资产,亚马逊云科技助力致盛咨询带来药物研发新福音

作为医疗保健领域的咨询公司&#xff0c;ZS需要保证服务可靠性、敏捷性和安全性的同时&#xff0c;获得经济效益。亚马逊云科技丰富的云服务产品简化了ZS基础架构的搭建&#xff0c;为ZS节省了大量的人力与资金成本。同时&#xff0c;缩短了ZS扩展基础设施的周转时间&#xff0…

一篇文章读懂Android Framework

本文旨在将Framework的框架描绘出来&#xff0c;希望抛砖引玉&#xff0c;对于读者有一定的帮助。前言写在前面&#xff1a;1、有没有必要学习linux内核&#xff1f;我认为是很有必要的。学习linux内核有助于我们加深对一些概念的理解&#xff0c;比如“进程”、“线程”。推荐…

JVM18运行时参数

4. JVM 运行时参数 4.1. JVM 参数选项 官网地址&#xff1a;https://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html 4.1.1. 类型一&#xff1a;标准参数选项 > java -help 用法: java [-options] class [args...](执行类)或 java [-options] -jar …

图解LeetCode——剑指 Offer 47. 礼物的最大价值

一、题目 在一个 m*n 的棋盘的每一格都放有一个礼物&#xff0c;每个礼物都有一定的价值&#xff08;价值大于 0&#xff09;。你可以从棋盘的左上角开始拿格子里的礼物&#xff0c;并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值&…

mongoTemplate Aggregation 多表联查 排序失效问题解决

目录说明说明 接着上一个文章的例子来说&#xff1a;mongoTemplate支持多表联查 排序 条件筛选 分页 去重分组 在按照上一个demo的代码执行后&#xff0c;可能会发生排序失效的问题&#xff0c;为什么说可能呢&#xff1f;每个人负责业务不同&#xff0c;不可能是最简单的dem…

树莓派CM4基础设置

安装系统1.1 软件和硬件准备硬件&#xff1a;CM4&#xff08;4GB DDR32GB EMMC 板载WIFI和蓝牙&#xff09;CM4-to-Pi4-Adapter软件&#xff1a;Raspberry Pi或者 Win32DiskImagerRaspberry Pi下载链接&#xff1a;点击直接下载Win32DiskImager下载链接&#xff1a;链接&#x…

el-table大数据量渲染卡顿问题

1、场景描述 在项目开发中&#xff0c;遇到在表格中一次性加载完的需求&#xff0c;且加载数量不少&#xff0c;有几百几千条&#xff0c;并且每条都可能有自己的下拉框&#xff0c;输入框来做编辑功能&#xff0c;此时普通的el-table肯定会导致浏览器卡死&#xff0c;那么怎么…

【Python小程序】怀旧经典 | 特色玩法,代码版本的钢琴小游戏了解下?初学钢琴,能提高双手协调与反应能力哦~(源码分享)

导语 哈喽&#xff0c;我是木木子鸭&#xff01; 最近给大家悄悄的更新了一些关于爬虫的内容呢~有想学习爬虫的小可爱可以学习一整子啦。 今天来给大家写一款界面化的&#xff08;Tkinter&#xff09;电子钢琴小程序。 ​ 所有文章完整的素材源码都在&#x1f447;&#x1…

Qt程序使用路径方式和注意事项

Qt程序使用路径方式和注意事项 更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;Qt开发经验 &#x1f448;文章目录Qt程序使用路径方式和注意事项[toc]前言一、Windows下Qt程序使用路径1.准备工作2.测试结果二、Linux下Qt程序使用路径1.准备工作2.测试结…

Python如何实现自动登录和下单的脚本,请看selenium的表演

前言 学python对selenium应该不陌生吧 Selenium 是最广泛使用的开源 Web UI&#xff08;用户界面&#xff09;自动化测试套件之一。Selenium 支持的语言包括C#&#xff0c;Java&#xff0c;Perl&#xff0c;PHP&#xff0c;Python 和 Ruby。目前&#xff0c;Selenium Web 驱动…

某餐厅系统网络故障分析案例

背景 针对食堂经营企业&#xff0c;某堂食软件为客户提供优化堂食就餐流程、提高食堂服务水平和管理效率。 某上海客户使用该堂食系统&#xff0c;在就餐高峰时段&#xff0c;总是出现支付、点餐等操作缓慢&#xff0c;动辄一个操作需要等待几十秒。该客户联系软件厂商&#…

浮点数在内存中的存储——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是浮点数在内存中的存储&#xff0c;昨天我们已经写过了整型在内存中的存储&#xff0c;那么&#xff0c;浮点数在内存中是怎样存储的呢&#xff1f;现在&#xff0c;就让我们进入浮点数在内存中的存储的世界吧…

超实用的公众号运营攻略分享,纯干货

很多小伙伴抱怨&#xff0c;公众号运营真的越来越难做了&#xff01; 每天会因为少得可怜的阅读量发愁&#xff0c;每天会因为纠结写什么选题发愁&#xff0c;每天更会因为公众号没有什么起色而感到无力。 现阶段公众号运营趋于饱和状态&#xff0c;公众号创建门槛低&#xf…