【SpringCloud config分布式配置中心】—— 每天一点小知识

news2024/11/9 3:55:38

·

在这里插入图片描述

                                                                       💧 S p r i n g C l o u d c o n f i g 分布式配置中心 \color{#FF1493}{SpringCloud config分布式配置中心} SpringCloudconfig分布式配置中心💧          


🌷 仰望天空,妳我亦是行人.✨
🦄 个人主页——微风撞见云的博客🎐
🐳 《数据结构与算法》专栏的文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
💧 《Java学习笔记》专栏的文章是本人在Java学习中总结的一些知识点~ 💐
🥣 《每天一点小知识》专栏的文章可以丰富你的知识库,滴水成河~ 🌊
🪁 希望本文能够给读者带来一定的帮助~🌸文章粗浅,敬请批评指正!🐥


文章目录

  • 🐳使用Spring Cloud Config构建分布式配置中心
    • 概述
    • Config服务端配置与测试
    • Config客户端配置与测试
    • Config客户端动态刷新
    • 总结
  • 🐳结语


🐳使用Spring Cloud Config构建分布式配置中心

概述

在微服务架构中,配置管理是一个关键的挑战。每个微服务都需要特定的配置,如数据库连接、第三方服务的密钥等。同时,不同环境(如开发、测试、生产)可能有不同的配置需求。Spring Cloud Config提供了一种集中管理和分发应用程序配置的解决方案,使得在不同环境中部署和管理应用程序变得更加容易。它将配置文件存储在配置服务中,并通过客户端从配置服务获取和加载配置。

Config服务端配置与测试

Config服务端是用于存储和提供配置文件的组件。它可以使用Git、SVN或本地文件系统作为存储后端。以下是Config服务端的配置和测试步骤:

💧1. 配置服务端:首先,需要创建一个Config服务端,用于存储和提供配置文件。可以使用Git作为存储后端。以下是一个示例的配置文件:

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/your-repo/config-repo

配置中指定了Git存储库的URI,它包含了配置文件的版本控制和变更历史。

💧2. 提供配置文件:将应用程序的配置文件存储在配置存储库中,例如上述示例中的GitHub仓库。可以为每个应用程序创建单独的配置文件,如application.ymlapplication-dev.yml等。

💧3. 测试配置服务端:启动配置服务端并访问http://localhost:8888/{application}/{profile},其中{application}是应用程序的名称,{profile}是应用程序的配置环境(如defaultdevprod等)。可以看到从配置存储库中获取的配置文件内容。

Config客户端配置与测试

Config客户端是用于从Config服务端获取和加载配置的组件。以下是Config客户端的配置和测试步骤:

💧1. 配置客户端:在应用程序的配置文件中添加以下配置,以连接到配置服务端:

spring:
  cloud:
    config:
      uri: http://localhost:8888

配置中指定了配置服务端的地址,客户端将通过该地址从服务端获取配置。

💧2. 测试配置客户端:启动应用程序并访问应用程序的端点(例如,http://localhost:8080/actuator/env),可以看到应用程序从配置服务端获取的配置信息。

💧3. 客户端优先级:Config客户端在加载配置时有一个优先级顺序,它将首先加载默认的application.ymlapplication.properties文件,然后再加载特定环境的配置文件,如application-dev.ymlapplication-prod.yml。这样可以根据环境自动加载适当的配置。

💧4. 配置刷新:在应用程序运行时,如果需要更新配置,可以通过访问/actuator/refresh端点来触发配置的刷新。刷新后,Config客户端将从配置服务端重新加载最新的配置。可以使用Actuator提供的监控端点来查看当前配置的状态。

Config客户端动态刷新

Config客户端动态刷新是指在应用程序运行时,无需重启应用程序即可更新配置。以下是Config客户端动态刷新的配置和测试步骤:

💧1. 添加依赖:在应用程序的pom.xml文件中添加以下依赖项,以引入Actuator依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Actuator提供了许多有用的监控和管理功能,包括动态刷新配置。

💧2. 开启动态刷新:在应用程序的主类上添加@EnableActuator注解,以启用Actuator功能和动态刷新:

@SpringBootApplication
@EnableActuator
public class MyApp {
    // ...
}

💧3. 配置动态刷新:在应用程序的配置文件中添加以下配置,以启用动态刷新:

management:
  endpoints:
    web:
      exposure:
        include: refresh

上述配置将/actuator/refresh端点暴露给外部访问。

💧4. 测试动态刷新:在应用程序运行时,如果需要更新配置,可以通过访问/actuator/refresh端点来触发配置的动态刷新。Config客户端将从配置服务端重新加载最新的配置,而无需重启应用程序。

总结

Spring Cloud Config提供了一种方便的方式来管理和分发应用程序的配置,使得在不同环境中部署和管理应用程序变得更加容易。本文介绍了Spring Cloud Config的概述、Config服务端配置与测试、Config客户端配置与测试以及Config客户端动态刷新。通过掌握Spring Cloud Config的原理和使用方法,你可以有效地管理和分发应用程序的配置,提高配置的灵活性和可维护性。


在这里插入图片描述


🐳结语

🐬初学一门技术时,总有些许的疑惑,别怕,它们是我们学习路上的点点繁星,帮助我们不断成长。

🐟积少成多,滴水成河。文章粗浅,希望对大家有帮助!

💧参考文献:

  • Spring Cloud Config官方文档

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

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

相关文章

okcc呼叫系统运营商的重点功能有什么

一、资费套餐模块 资费套餐&#xff0c;即客户进行业务时使用的资费标准。填写资费套餐名称&#xff0c;选择计费规则方式&#xff0c;点击“确认”按钮即可创建一条资费套餐&#xff0c;如下图所示。 计费规则即计费所遵循的规则。OKCC系统目前设计了以下三种计费方式(后续还…

Caretta 利用 eBPF 实现 Kubernetes 应用网络拓扑

介绍 Caretta 是一种轻量级的独立工具&#xff0c;快速展示集群中运行的服务可视化网络图。 Caretta 利用 eBPF 有效地展示 K8s 集群中的服务网络交互图&#xff0c;并利用 Grafana 查询和可视化收集的数据。科学家们早就知道&#xff0c;海龟和许多动物一样&#xff0c;通过…

【瑞萨RA_FSP】AGT——低功耗定时器

文章目录 一、AGT简介二、AGT的框图分析1. 16位计数器2. 16位重装载寄存器3. 计数时钟源4. 比较匹配功能5. 比较匹配输出引脚6. 输出引脚7. 下溢事件信号/测量完成事件信号输出 三、AGT工作模式详解四、实验&#xff1a;比较匹配功能——PWM输出1. 硬件设计2. 文件结构3. FSP配…

基础篇:新手使用vs code新建go项目(从0开始到运行)

学习新语言&#xff0c;搭建新环境。在网上找了一些教程&#xff0c;感觉还是写一个比较详细的方便以后自己使用。其实vs code没有新建项目这个功能&#xff0c;具体怎么运行go语言的项目请看下文。 一、下载GO安装包 1.点击go安装包下载链接下载相应的版本&#xff08;本次下…

【计算机网络自顶向下】简答题习题总结(三)

文章目录 第三章 传输层UDP用户数据报协议可靠数据传输原理面向连接传输TCP流量控制可靠数据传输机制 题目 第三章 传输层 传输层服务&#xff1a;在两个不同的主机的运行应用程序之间提供逻辑通信 在接收主机多路分解 将接收到的数据段传递给正确的套接字【多路分解】 在发送…

线程与轻进程(OS)

目录 1、进程的引入 2、线程的概念 3、线程的结构 3、线程控制块 5、线程的实现 &#xff08;1&#xff09;用户级别线程 &#xff08;2&#xff09;核心级别线程 &#xff08;3&#xff09;混合线程 6、线程的应用 1、进程的引入 进程切换 上下文涉及内容多&#xf…

软件测试面试,从简历到面试常问,不学几招怎么跳槽?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 软件测试面试环节…

关于Java多线程不安全的问题简析

在了解多线程不安全的问题之前 让我们先来看如下代码 public class demo18 {public static int count 0;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(()->{for (int i 0; i < 10000; i) {count;}});Thread t2 new …

软件测试报告需要做哪些测试内容?软件测试外包服务公司靠谱吗?

在软件开发领域中&#xff0c;测试是最为重要的环节之一&#xff0c;它在确保软件质量方面有着至关重要的作用。软件测试是一种检验软件代码是否符合设计和用户期望的过程。软件测试的主要目的是发现缺陷并确保软件在实际使用中的可靠性&#xff0c;安全性&#xff0c;以及稳定…

Linux中centos修改系统时间并写到硬件,Linux中centos设置定时自动同步网络时间

文章目录 前言一、centos修改系统时间并写到硬件1.1查看当前的系统时间1.2修改系统时间1.3查看硬件时间1.4同步系统时间和硬件时间1.5本地时间写入硬件时间 二、centos设置定时自动同步网络时间2.1安装ntpdate工具2.2CentOS安装/操纵crontab2.3启动crontab并查看状态2.4写一个c…

Ubuntu系统安装Mysql服务并设置远程连接-Navicat连接Mysql-物联网系统

目录 一、前言 二、Mysql的安装 三、Mysql服务管理 四、配置Mysql远程连接 五、修改登录限制 六、修改Root密码 七、Navicat连接Mysql 一、前言 在我们购买服务器后&#xff0c;常需要在服务器上部署数据库以存储我们所需要的数据&#xff0c;因此我们本文将在Ubuntu系统…

LeetCode - #81 搜索旋转排序数组 II

文章目录 前言1. 描述2. 示例3. 答案关于我们 前言 我们社区陆续会将顾毅&#xff08;Netflix 增长黑客&#xff0c;《iOS 面试之道》作者&#xff0c;ACE 职业健身教练。&#xff09;的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新…

解决阿里云服务器被植入挖矿脚本过程

文章目录 前言一、服务器为什么会被告警挖矿&#xff1f;二、怎么解决&#xff1a;1.top 命令查看进程cpu 占用情况&#xff1a;2.通过pid进程号&#xff0c;查找改程序所在的目录&#xff1a;3. 强制删除脚本文件&#xff1a;4. 强制杀死进程&#xff1a;5. 检查是否有脚本的定…

three.js物体纹理及其常用属性介绍

一、Three中的纹理和材质介绍 THREE中的纹理和材质是用来渲染3D场景中的物体表面的。纹理贴图定义物体表面的颜色和外观&#xff0c;而材质则定义物体表面如何反射光线。 纹理可以使用多种类型的图像文件&#xff0c;包括JPEG、PNG、GIF等。纹理可以是简单的颜色、图案或者是复…

史上最卷618背后:国产手机厂商突围的“新武器”

智能手机&#xff0c;究竟还是不是个好生意? 这个问题在近些年被市场反复追问&#xff0c;在最近被称为“史上最卷”的618期间&#xff0c;更是被增添了悲观的色彩。IDC中国研究经理郭天翔表示&#xff0c;本次618智能终端市场是低于预期的&#xff0c;同时也低于去年同期。除…

Qt6.2教程——1.Qt安装及编写登录界面

本文旨在帮助读者理解如何使用ChatGPT来辅助安装和学习Qt 6.2。我们将从Qt 6.2的基本概念开始&#xff0c;然后深入了解其安装过程&#xff0c;并探讨如何使用ChatGPT作为一个强大的辅助工具。对于那些寻求在学习和使用Qt 6.2中找到有效支持的人来说&#xff0c;这篇文章将提供…

FBM207C RH917GY将相关调节系统打到手动状态,必要时到现场进行调节

​ FBM207C RH917GY将相关调节系统打到手动状态&#xff0c;必要时到现场进行调节 FBM207C RH917GY将相关调节系统打到手动状态&#xff0c;必要时到现场进行调节 随着自动化水平的提高&#xff0c;dcs控制系统(集散控制系统)逐渐代替了常规仪表&#xff0c;其优越性已被广大操…

Vue 常用属性

数据属性 组件的 data 选项是一个函数&#xff08;data里面是有return的&#xff09;。Vue 会在创建新组件实例的过程中调用此函数&#xff08;将里面定义的变量都放到实例里面去&#xff0c;你就可以使用this点出来&#xff0c;包括HTML里面就能够使用这些变量的&#xff09;。…

LabVIEW开发航空航天器风洞的数据采集系统

LabVIEW开发航空航天器风洞的数据采集系统 空气动力及其系数的评估是航空航天器设计中的一项基本任务&#xff0c;对于考虑制造高效飞行器非常重要。航空航天器的效率是根据其稳定性、最小阻力和更高的机动性来定义的。在风洞中使用航空航天飞行器模型进行测试&#xff0c;而不…

【Leetcode】11.盛最多水的容器

一、题目 1、题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例1: 输…