SpringCloudConfig 使用git搭建配置中心

news2024/11/26 16:42:43

一 SpringCloudConfig 配置搭建步骤

1.引入 依赖pom文件

引入 spring-cloud-config-server 是因为已经配置了注册中心

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-netflix-eureka-client</artifactId>
        </dependency>
    </dependencies>

2. 添加.propertis 配置文件

启动Spring Cloud Config服务器,它会从Git仓库中读取配置并通过HTTP接口暴露。
以下是配置application.properties

server.port=8050
spring.application.name=config-server

# 注册到服务注册中心
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

#####################读取git远程配置中心文件位置################################
# github的仓库地址
spring.cloud.config.server.git.uri=https://gitee.com/yunzhongfan/zhangcloudconfig.git
# 搜索 Github/Gitee 上名为 config-server 仓库的目录
spring.cloud.config.server.git.searchPaths=repo
# github的分支,默认是master
spring.cloud.config.label=master
# git 仓库登录用户名
spring.cloud.config.server.git.username=xxxx@qq.com
# git 仓库登录密码
spring.cloud.config.server.git.password=yyyyyy
#启动时直接从远程 Git 仓库获取配置 (GitHub/Gitee)
spring.cloud.config.server.git.lone-on-start=true




#######################读取本地配置文件配置###################################
#表示配置读取选择本地的地址
# spring.profiles.active=native
#本地配置文件位置
#spring.cloud.config.server.native.search-locations=G:\\env-properties\\spring-config

3.在git 仓库 添加配置文件

确保你的Git仓库中有一个config目录,并且配置文件遵循{application}-{profile}.properties或{application}-{profile}.yml的命名规则。

在这里插入图片描述

启动Spring Cloud Config服务器的主类可能看起来像这样:

4.开启服务注册发现和配置服务注解

@SpringBootApplication
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }

}

5. 测试配置中心的配置文件

启动后,你可以通过访问如下URL来获取配置信息:

http://localhost:port/application-name/profile/label

其中application-name是配置文件的应用名,profile是环境名(如dev, test, prod),label是Git的分支名。如果在application.properties中设置了默认的label,则可以省略。

请确保你的开发环境安装了Git,并且网络可以访问GitHub或其他Git仓库的URL。

http://localhost:8050/config-server/test/master
在这里插入图片描述

http://localhost:8050/config-server/dev/master

在这里插入图片描述

二 SpringCloudConfig 配置常见属性

Spring Cloud Config 是一个用于集中管理应用程序配置的框架,它将配置存储在一个外部系统(如Git仓库)中,并使用Spring Enviroment和Vault支持密码等敏感信息的管理。

Spring Cloud Config 常见的配置属性如下:

spring.cloud.config.server.git.uri: 配置Git仓库的地址。

spring.cloud.config.server.git.username: 配置Git仓库的用户名(如有权限限制)。

spring.cloud.config.server.git.password: 配置Git仓库的密码(如有权限限制)。

spring.cloud.config.server.git.cloneOnStart: 配置是否在启动时克隆仓库,默认为true。

spring.cloud.config.server.git.skipSslValidation: 配置是否跳过Git仓库SSL验证。

spring.cloud.config.server.git.timeout: 配置Git仓库连接的超时时间。

spring.cloud.config.server.git.defaultLabel: 配置默认的Git分支,默认为master。

spring.cloud.config.server.git.searchPaths: 配置Git仓库中查找配置文件的路径。

spring.cloud.config.server.port: 配置Config Server的端口。

spring.cloud.config.server.prefix: 配置Config Server的URL前缀。
属性名说明默认值
spring.cloud.config.allow-override标记以指示可以使用{@link #isSystemPropertiesOverride()systemPropertiesOverride}。设置为false以防止用户意外更改默认值true
spring.cloud.config.authorization客户端使用的授权令牌连接到服务器
spring.cloud.config.discovery.enabled标记以指示启用配置服务器发现false
spring.cloud.config.discovery.service-id服务ID来定位配置服务器configserver
spring.cloud.config.enabled标记说远程配置启用true
spring.cloud.config.fail-fast标记表示无法连接到服务器是致命的false
spring.cloud.config.label用于拉取远程配置属性的标签名称
spring.cloud.config.name用于获取远程属性的应用程序名称
spring.cloud.config.override-none标志表示当{@link #setAllowOverride(boolean)allowOverride}为true时,外部属性应该采用最低优先级,并且不覆盖任何现有的属性源(包括本地配置文件)false
spring.cloud.config.override-system-properties标记以指示外部属性应覆盖系统属性true
spring.cloud.config.password联系远程服务器时使用的密码
spring.cloud.config.profile获取远程配置时使用的默认配置文件(逗号分隔)default
spring.cloud.config.retry.initial-interval初始重试间隔(以毫秒为单位)1000
spring.cloud.config.retry.max-attempts最大尝试次数6
spring.cloud.config.retry.max-interval退避的最大间隔2000
spring.cloud.config.retry.multiplier下一个间隔的乘数1.1
spring.cloud.config.server.bootstrap表示配置服务器应使用远程存储库中的属性初始化其自己的环境false
spring.cloud.config.server.default-application-nameapplication 传入请求没有特定的默认应用程序名称 application
spring.cloud.config.server.default-label传入请求没有特定标签时的默认存储库标签
spring.cloud.config.server.default-profile传入请求没有特定的默认应用程序配置文件时default
spring.cloud.config.server.encrypt.enabled在发送给客户端之前启用对环境属性的解密true
spring.cloud.config.server.git.force-pull标记表示存储库应该强制拉。如果真的丢弃任何本地更改并从远程存储库获取
spring.cloud.config.server.git.password使用远程存储库验证密码
spring.cloud.config.server.git.repos存储库标识符映射到位置和其他属性
spring.cloud.config.server.git.search-paths在本地工作副本中使用的搜索路径
spring.cloud.config.server.git.timeout用于获取HTTP或SSH连接的超时(以秒为单位)5
spring.cloud.config.server.git.uri远程存储库的URI
spring.cloud.config.server.git.username用于远程存储库的身份验证用户名
spring.cloud.config.server.native.fail-on-error标识以确定在解密期间如何处理异常false
spring.cloud.config.server.native.search-locations搜索配置文件的位置[]
spring.cloud.config.server.native.version为本地存储库报告的版本字符串
spring.cloud.config.server.overrides无条件发送给所有客户的资源的额外地图
spring.cloud.config.server.prefix配置资源路径的前缀
spring.cloud.config.server.strip-document-from-yaml标记为指示作为文本或集合(而不是映射)的YAML文档应以“本机”形式返回true
spring.cloud.config.uri远程服务器的URIhttp:// localhost:8888
spring.cloud.config.username联系远程服务器时使用的用户名

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

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

相关文章

1. Java概述

文章目录 1.Java语言概述1.1 Java介绍1.1.1 软件开发概述1.1.2 计算机语言1.1.3 Java 简史1.1.4 Java 技术体系平台1.1.5 Java在各领域的应用1.1.6 Java语言特点1.1.7 Java核心机制一-Java虚拟机1.1.8 Java核心机制二-垃圾回收1.1.9 Java开发工具 1.2 Java环境搭建1.2.1 JDK、J…

对接中泰极速行情 | DolphinDB XTP 插件使用教程

XTP 是中泰证券推出的高性能交易平台&#xff0c;专为专业投资者提供高速行情及交易系统&#xff0c;旨在提供优质便捷的市场接入通道。目前支持股票、基金、ETF、债券、期权等多个市场&#xff0c;可满足不同投资者需求。 基于 XTP 官方 C SDK&#xff0c;DolphinDB 开发了 X…

台灯护眼灯哪个牌子好?护眼灯十大品牌推荐

随着近视率的上升&#xff0c;越来越多的人开始重视眼睛健康&#xff0c;尤其是学生群体面临着巨大的学习压力。家长们也意识到良好的眼睛保护至关重要&#xff0c;开始关注护眼台灯的作用。在选择护眼灯时&#xff0c;家长们常常会陷入犹豫&#xff0c;不知道哪个品牌更可靠。…

书生·浦语大模型开源体系(一)论文精读笔记

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

C++:sizeof关键字(7)

sizeof用于统计数据所占用内存的大小 用法&#xff1a;sizeof( 变量名称 / 变量) 直接上代码&#xff0c;可以在让大家直观的感受到sizeof关键字的用法 #include<iostream> using namespace std;// 语法&#xff1a; sizeof&#xff08;数据类型|变量名&#xff09;// 用…

MYSQL数字函数实操宝典:场景化SQL语句一网打尽

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 MYSQL数字函数&#xff1a;不可不知的数据处理利器 文章目录 Part 1: 准备 &#x…

云数据仓库Snowflake论文完整版解读

本文是对于Snowflake论文的一个完整版解读&#xff0c;对于从事大数据数据仓库开发&#xff0c;数据湖开发的读者来说&#xff0c;这是一篇必须要详细了解和阅读的内容&#xff0c;通过全文你会发现整个数据湖设计的起初原因以及从各个维度&#xff08;架构设计、存算分离、弹性…

海外媒体发稿:3种媒体宣发套餐内容推广方法

现如今&#xff0c;伴随着信息技术的不断进步和推广&#xff0c;新闻媒体宣发变成企业品牌推广的重要手段之一。为了方便让新闻信息新闻资讯传递给目标群体&#xff0c;公司一般会选择不同的套餐内容和推广方法。下面我们就详细介绍3种新闻资讯新闻媒体宣发套餐内容推广方法。 …

Qt 完成图片的缩放拖动

1. 事件和函数 主要使用事件paintEvent(QPaintEvent *event)和drawTiledPixmap函数实现绘图。 paintEvent事件在改变窗口大小、移动窗口、手动调用update等情形下会被调用。需先了解下绘图该函数的用法。 - QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPi…

kafka集群介绍+部署Filebeat+Kafka+ELK

一、消息队列 1、为什么需要消息队列&#xff08;MQ&#xff09; 主要原因是由于在高并发环境下&#xff0c;同步请求来不及处理&#xff0c;请求往往会发生阻塞。比如大量的请求并发访问数据库&#xff0c;导致行锁表锁&#xff0c;最后请求线程会堆积过多&#xff0c;从而触…

安卓Activity上滑关闭效果实现

最近在做一个屏保功能&#xff0c;需要支持如图的上滑关闭功能。 因为屏保是可以左右滑动切换的&#xff0c;内部是一个viewpager 做这个效果的时候&#xff0c;关键就是要注意外层拦截触摸事件时&#xff0c;需要有条件的拦截&#xff0c;不能影响到内部viewpager的滑动处理…

【I.MX6ULL移植】Ubuntu-base根文件系统移植

1.下载Ubuntu16.04根文件系统 http://cdimage.ubuntu.com/ 1 2 3 4 5 2.解压ubuntu base 根文件系统 为了存放 ubuntu base 根文件系统&#xff0c;先在 PC 的 Ubuntu 系统中的 nfs 目录下创建一个名为 ubuntu_rootfs 的目录&#xff0c;命令如下&#xff1a; 【注意&…

C# 学习第五弹——语句

一、if语句 —简单if语句 —if else 语句 —if else if else 语句 1、简单if语句 if&#xff08;表达式&#xff09;{语句} &#xff08;1&#xff09;表达式必须使用圆括号括起来&#xff1b; &#xff08;2&#xff09;表达式&#xff1a;关系表达式或逻辑表达…

数字孪生|初识山海鲸可视化

哈喽,你好啊,我是雷工! 最近开始学习了解数字孪生的软件,看山海鲸可视化介绍的不错,便准备下载了试一下。 01 、概述 该软件是一套技术自主可控的、国产自研的、零代码数字孪生可视化工具集, 02、产品定位 该软件致力于数字孪生应用的推广,通过提供一站式的多快好省…

接口自动化框架搭建(五):生成allure报告

1&#xff0c;安装allure 参考连接&#xff1a; https://blog.csdn.net/lixiaomei0623/article/details/120185069 2&#xff0c;安装python的allure依赖 pip install allure-pytest或者从pycharme上安装 3&#xff0c;生成报告 执行前目录 执行测试用例 import pytest …

pulsar: kafka on pulsar之把pulsar当kafka用

一、下载协议包&#xff08;要和pulsar版本比较一致&#xff09; https://github.com/streamnative/kop/releases?q2.8.0&expandedtrue二、在pulsar的根目录创建一个protocols目录&#xff0c;将上述包放到这个目录里 三、编辑broker.conf(如果是集群)或者standalone.con…

Node爬虫:原理简介

在数字化时代&#xff0c;网络爬虫作为一种自动化收集和分析网络数据的技术&#xff0c;得到了广泛的应用。Node.js&#xff0c;以其异步I/O模型和事件驱动的特性&#xff0c;成为实现高效爬虫的理想选择。然而&#xff0c;爬虫在收集数据时&#xff0c;往往面临着诸如反爬虫机…

前端性能优化:掌握解决方案

课程介绍 我们常说性能永远是第一需求&#xff0c;作为一个前端工程师&#xff0c;不管使用什么框架&#xff0c;不管从事什么类型的网站或应用开发&#xff0c;只要是项目被用户使用&#xff0c;性能优化就永远是你需要关注的问题。通常情况下&#xff0c;工程师们在深入了解…

企业微信机器人java代码对接

如何使用群机器人 假设webhook是&#xff1a;https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa 特别特别要注意&#xff1a;一定要保护好机器人的webhook地址&#xff0c;避免泄漏&#xff01;不要分享到github、博客等可被公开查…

QMT量化策略实盘(二)交易触发定时器run_time

上一篇分享中&#xff0c;介绍了QMT量化实盘中最常用的下单函数passorder&#xff0c;和它主要的参数。 如果再结合一个交易触发函数&#xff0c;就可以实现简单的量化交易策略了&#xff01;比如下面的代码可以实现&#xff1a; 在集合竞价期间以指定价买入中信证券100股 #c…