SpringCloudConfig 使用git搭建配置中心

一 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.mzph.cn/news/778934.shtml

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

相关文章

计算机网络(03)

计算机网络&#xff08;02&#xff09; 三层交换机 普通交换机叫做 二层交换机三层交换机 二层交换 三层路由 .VLAN 互通 虚拟接口 在三层交换机上配置的VLAN接口为虚拟接口使用***Vlanif ( VLAN虚拟接口 )***实现VLAN间的路由VLAN的接口引入使得应用更加灵活 三层交换…

浅谈 kafka

引言 同事在公司内部分享了关于 kafka 技术一些相关的内容&#xff0c;所以有了这篇文章&#xff1b;部分图片选自网络摘抄&#xff1b; 1 Kafka概述 1.1 定义 Kafka传统定义&#xff1a;kafka是一个分布式的基于发布/订阅模式的消息队列。 Kafka最新定义&#xff1a;kafka…

东莞交投集团供应链服务平台上线啦

2021年&#xff0c;东莞市交通投资集团有限公司&#xff08;以下简称“东莞交投集团”&#xff09;开展物资采购供应管理的改进研究。2022年&#xff0c;为充分挖掘数据价值&#xff0c;赋能采购管理&#xff0c;探索物资全生命周期管理&#xff0c;集团以降本增效为目标&#…

IT廉连看——SpringBoot——SpringBoot简介

IT廉连看——SpringBoot——SpringBoot简介 1、Spring优缺点 spring优点 Spring是Java企业版&#xff08;Java Enterprise Edition&#xff0c;JEE&#xff0c;也称J2EE&#xff09;的轻量级代表。无需开发重量级的EnterpriseJavaBean&#xff08;EJB&#xff09;&#xff0…

iOS UIFont-实现三方字体的下载和使用

UIFont 系列传送门 第一弹加载本地字体:iOS UIFont-新增第三方字体 第二弹加载线上字体:iOS UIFont-实现三方字体的下载和使用 前言 在上一章我们完成啦如何加载使用本地的字体。如果我们有很多的字体可供用户选择,我们当然可以全部使用本地字体加载方式,可是这样就增加了…

在项目中缓存如何优化?SpringCache接口返回值的缓存【CachePut、CacheEvict、Cacheable】

SpringCache 介绍&#xff08;不同的缓存技术有不同的CacheManager&#xff09;注解入门程序环境准备数据库准备环境准备注入CacheManager引导类上加EnableCaching CachePut注解(缓存方法返回值)1). 在save方法上加注解CachePut2). 测试 CacheEvict注解&#xff08;清理指定缓存…

开源AI引擎|信息抽取与文本分类项目案例:提升12345政务投诉处理效率

一、实际案例介绍 采集员案件上报流程是城市管理和问题解决的关键环节&#xff0c;涉及对案件类别的选择、案件来源的记录、详细案件描述的填写以及现场图片的上传。这一流程要求采集员准确、详细地提供案件信息&#xff0c;以便系统能够自动解析关键数据并填写相关内容&#…

ip地址改变导致nacos无法登录的解决方法

ip地址改变导致nacos无法登录的解决方法 在做黑马的springcloud课程里的黑马商城微服务项目时&#xff0c;发现使用nacos的默认账号密码&#xff08;nacos&#xff0c;nacos&#xff09;无法登录&#xff0c;项目里也没报错信息&#xff0c;虽然猜测和ip地址改变有关&#xff0…

算法---动态规划练习-6(地下城游戏)

地下城游戏 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址&#xff1a;点这里 2. 讲解算法原理 首先&#xff0c;定义一个二维数组 dp&#xff0c;其中 dp[i][j] 表示从位置 (i, j) 开始到达终点时的最低健康点数。 初始化数组 dp 的边界条件&#xff1a; 对…

机器学习作业二之KNN算法

KNN&#xff08;K- Nearest Neighbor&#xff09;法即K最邻近法&#xff0c;最初由 Cover和Hart于1968年提出&#xff0c;是一个理论上比较成熟的方法&#xff0c;也是最简单的机器学习算法之一。该方法的思路非常简单直观&#xff1a;如果一个样本在特征空间中的K个最相似&…

数据库内数据已清除,刷新后又出现

背景 源于客户需求要写一个告警接口&#xff0c;对第三方接口的返回值进行判断&#xff0c;达到一定数值后要推送告警&#xff0c;数值正常后要推送告警恢复。经过对数据的分析以及接口逻辑处理&#xff0c;采用数据库查询写入等方式。&#xff08;对此告警接口感兴趣的朋友请…

学习java第二十六天

Spring是一个开源框架&#xff0c;Spring是一个轻量级的Java 开发框架。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构&#xff0c;分层架构允许使用者选择使用哪一个组件&#xff0c;同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的…

数字化运维实战手册:构建高效运维体系的方法与实践

一本书掌握数字化运维方法&#xff0c;构建数字化运维体系 数字化转型已经成为大势所趋&#xff0c;各行各业正朝着数字化方向转型&#xff0c;利用数字化转型方法论和前沿科学技术实现降本、提质、增效&#xff0c;从而提升竞争力。 数字化转型是一项长期工作&#xff0c;包含…

How to use jupyter nbconvert

How to use jupyter nbconvert 最近在使用jupyter notebook的时候&#xff0c;发现notebook文件在问题探索方面非常方便&#xff0c;但是交付的话&#xff0c;还是期望能将其转换为python源文件。要实现notebook源文件(.ipynb)与python源文件(.py)之间的相互转换&#xff0c;可…

Mybatis中QueryWrapper的复杂查询SQL

最近在使用QueryWrapper编写查询语句时发现复杂的SQL不会写。在网上找了半天&#xff0c;终于得到了点启示。在此做个记录以备忘。 我要实现的SQL是这样的&#xff1a; -- 实现这个复杂查询 -- 查询设备表 select * from oa_device where ((dev_code BSD1003 and dev_status…

[flume$1]记录一个启动flume配置的错误

先总结&#xff1a;Flume配置文件后面&#xff0c;不能跟注释 报错代码&#xff1a; [ERROR - org.apache.flume.SinkRunner$PollingRunner.run(SinkRunner.java:158)] Unable to deliver event. Exception follows. org.apache.flume.EventDeliveryException: Failed to open…

Termius for Mac/Win:多协议远程管理利器,你的工作效率提升神器

在数字化飞速发展的今天&#xff0c;远程管理已成为企业运营和个人工作不可或缺的一部分。而Termius&#xff0c;作为一款多协议远程管理软件&#xff0c;正以其卓越的性能和便捷的操作&#xff0c;成为广大用户的心头好。 Termius支持多种协议&#xff0c;无论是SSH、RDP还是…

使用VSCode搭建Vue 3开发环境

使用VSCode搭建Vue 3开发环境 Vue 3是一种流行的前端JavaScript框架,它提供了响应式的数据绑定和组合式的API。Visual Studio Code(VSCode)是一个轻量级但功能强大的源代码编辑器,支持多种语言开发。本文将引导您完成使用VSCode搭建Vue 3开发环境的步骤。 1. 下载和安装V…

构建docker环境下的thunder迅雷插件

前言 从迅雷群晖套件中提取出来用于其他设备的迅雷远程下载服务程序。仅供测试&#xff0c;测试完请大家自觉删除。 下载保存目录 /xunlei/downloads&#xff0c; 对应迅雷应用内显示的下载路径是 /downloads 或者 /迅雷下载 仓库 阿里云镜像&#xff08;国内访问&#xff…

查询优化-提升子查询-UNION类型

瀚高数据库 目录 文档用途 详细信息 文档用途 剖析UNION类型子查询提升的条件和过程 详细信息 注&#xff1a;图片较大&#xff0c;可在浏览器新标签页打开。 SQL: SELECT * FROM score sc, LATERAL(SELECT * FROM student WHERE sno 1 UNION ALL SELECT * FROM student…