Spirng Cloud Config Server使用

Spring Cloud Config配置管理中心实践 Spring Cloud Config配置管理中心 阅读详情

在 Spring Cloud 中,自研了一个 Spring Cloud Config 框架来构建配置中心,并同时提供了配置服务器和多种配置仓库实现方案。

  1. 引入maven依赖
<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-config-server</artifactId>
</dependency>
 
<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

        

2. 启动来使用@EnableConfigServer

@SpringBootApplication
@EnableConfigServer
public class DemoApplication {

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

}

@EnableConfigServer 用于启用Spring Cloud Config服务,有了这个注解,配置服务器就可以将所存储的配置信息转化为 RESTful 接口数据供各个业务微服务在分布式环境下进行使用。

Spring Cloud Config 中提供了多种配置仓库的实现方案,最常见的就是基于本地文件系统的配置方案和基于 Git 的配置方案。

3. 基于本地文件系统的配置方案

使用本地配置文件方案构建配置仓库时,一种典型的项目工程结构参考下图:

在 src/main/resources 目录下创建一个 springconfig 文件夹,在该文件夹下创建deviceservice和userservice文件夹,这两个文件夹必须要和各自的微服务名称一致。

application.yml配置内容

server:
  port: 9090

#基于本地文件
spring:
  profiles:
    active: native
  cloud:
    config:
      server:
        native:
          search-locations: classpath:springconfig/,classpath:springconfig/deviceservice,classpath:springconfig/userservice

 userservice.yml配置信息如下:

spring:
  jpa:
    database: MYSQL
  datasource:
    platform: mysql
    url: jdbc:mysql://127.0.0.1:3306/config_server
    username: root
    password: default
    driver-class-name: com.mysql.jdbc.Driver

Spring Cloud Config 为我们提供了强大的集成入口,配置服务器可以将存放在本地文件系统中的配置文件信息自动转化为 RESTful 风格的接口数据。当我们启动配置服务后可以通过HTTP接口访问

localhost:9090/userservice/default

        因为我们访问的是http://localhost:8888/userservice/default 端点,相当于获取的是 userservice.yml 文件中的配置信息,所以这里的"profiles"值为"default",意味着我们的配置文件的 Profile 是默认环境。

 4. 基于第三方仓库配置方案

     配置如下:

server:
  port: 9090

#基于git仓库
spring:
  cloud:
    config:
      discovery:
        enabled: true

      server:
        encrypt:
          enabled: false
        git:
          uri: https://github.com/gitname/springcloud-demo/config-repository
          search-paths: deviceservice,userservice
          username: your_username
          password: pass

以上是基于github的一个demo

二、 Spring Cloud Config Client使用

  1. 引入Spring Cloud Config Client依赖
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-config-client</artifactId>
</dependency>

      

2. 配置获取userservice服务名下的test配置:

spring:
  application:
    name: userservice
  profiles:
    active: test
  cloud:
    config:
      enabled: true
      uri: http://localhost:9090
  config:
    import: optional:configserver:http://localhost:9090

http://localhost:9090/userservice/test

{
    "name": "userservice",
    "profiles": [
        "test"
    ],
    "label": null,
    "version": null,
    "state": null,
    "propertySources": [
        {
            "name": "class path resource [springconfig/userservice/userservice-test.yml]",
            "source": {
                "spring.jpa.database": "MYSQL",
                "spring.datasource.platform": "mysql",
                "spring.datasource.url": "jdbc:mysql://127.0.0.1:3306/config_server",
                "spring.datasource.username": "root",
                "spring.datasource.password": "test",
                "spring.datasource.driver-class-name": "com.mysql.jdbc.Driver"
            }
        },
        {
            "name": "class path resource [springconfig/userservice/userservice.yml]",
            "source": {
                "spring.jpa.database": "MYSQL",
                "spring.datasource.platform": "mysql",
                "spring.datasource.url": "jdbc:mysql://127.0.0.1:3306/config_server",
                "spring.datasource.username": "root",
                "spring.datasource.password": "default",
                "spring.datasource.driver-class-name": "com.mysql.jdbc.Driver"
            }
        }
    ]
}

3. 获取配置

@Configuration
@ConfigurationProperties(prefix = "spring.datasource")
public class DataSourceConfig {
    private String platform;
    private String url;
    private String username;
    private String password;
    private String driverClassName;
//getter and  setter
}

4. 使用从配置中心获取到的配置信息

SpringCloudConfig 介绍及配置 Spring Cloud Config 是 Spring Boot 提供的一个轻量级的外部配置管理框架,它可以集中管理配置文件,以达到不同环境的配置隔离的目的。在分布式系统中,由于服务数量多、部署分散、环境复杂等特点,运行期依赖于不同的配置项,将这些配置放在各个项目的resources文件夹下会造成配置混乱、难以维护、版本冲突等问题。 阅读详情

相关推荐

【OpenVINO】OpenVINO C# API 常用 API 详解与演示

在本文中我们基于模型推理流程,演示了OpenVINO C# API使用方法,并和OpenVINO C++API进行了对比,展示了OpenVINO C# API与C++API在使用的区别,这也对使用过C++ API的开发者十分友好,上手会十分容易。在本文中我们只展示了基础的模型推理流程代码,也对各个API进行了测试,针对其他比较高级的API方法,我们后续会继续进行测试其他API方法,向各位开发者展示其用法。

grape_yan的博客 1540

第六章 Spring Cloud Config配置管理

6.1 Spring Cloud Config 简介 配置⽂件想必⼤家都不陌⽣。在Spring Boot项⽬中,默认会提供⼀个application.properties或者 application.yml⽂件,我们可以把⼀些全局性的配置或者需要动态维护的配置写⼊改⽂件,不如数据库连接,功能开关,限流阈值,服务地址等。为了解决不同环境下服务连接配置等信息的差异,Spring Boot还提供了基于spring.profiles.active={profile}的机制来实现不同的环境的切换。 ...

ReZero_486的博客 1239

114.Android简单的动态切换app的图标,两种方式

- 默认的图标-->-- 需要切换的图标-->android:label="短信"-- 默认activity-->

曹二少的博客 5575

SpringCloud Config 配置

spring cloud config 大家都知道是配置中心,是用于根据不同环境加载不同配置文件,话不多说,直接上干货! 以下是基于springboot V2.4.2版本,springcloud (V3.0.0)版本,注册中心使用consul spring config server config server 的pom文件 <parent> <groupId>org.springframework.boot</groupId> &lt...

zhangtong136的专栏 897

ADS2020实战:手把手教你搭建交叉耦合VCO并分析相位噪声(附避坑指南)

本文以ADS2020软件为例,提供了交叉耦合压控振荡器(VCO)从原理图搭建到相位噪声分析的完整实战指南。详细讲解了核心器件选择、谐波平衡与瞬态仿真的关键设置,并重点剖析了相位噪声的仿真方法与优化方向。文中附有详细的避坑指南,帮助初学者和工程师高效完成VCO设计与仿真验证,避免常见错误。

p5l2m9n4o6q的博客 283

从内外参推导IPM变换方程及代码实现(生成AVM环视拼接图)

最近想实现AVM拼接,看了不少博客和论文,不过比较愚钝,一直没能很好理解原理,尤其是怎么在实现时把下文中Z1和Z2消除的,所以严谨的推导了一下对应的公式,如有不对,水平有限,烦请指出~IPM变换(逆透视变换),顾名思义,即将正常透视效应消除的变换,变换结果为鸟瞰图BEV(俯视图);AVM环视拼接一般是将车身前后左右的四个鱼眼相机拼接成环视图(也是俯视),其使用的单应矩阵将四个相机转到同一个俯视坐标系。

mxdsdo09的博客 4175

【SpringCloud】SpringCloud Config 分布式配置中心 【七】

1. 概述1.1 是什么1.2 怎么玩1.3 作用2. 服务端Config2.1 环境准备2.1.1 新建Gitee仓库并添加3个配置文件2.1.2 克隆仓库到本地2.2 cloud-config-server-33442.2.1 pom文件2.2.2 yml文件2.2.3 启动类2.2.4 测试2.2.5 配置读取规则3. 客户端Config3.1 cloud-config-client-33553.1.1 pom文件 1. 概述 1.1 是什么 SpringCloud Config为微服务架构中的微服.

Duson 194

低成本实现webhook接收端[python]

Webook本质上也是API,只不过是反向调用,即前端不主动发送请求,完全由后端推送。简单来说,Webhook是一个接受HTTP POST或是GET,PUT,DELETE的URL,一个实现了Webhook的API提供商就是在当事件发生的时候会向配置的URL发送信息,与请求-响应式不同,使用Webhook可以实时接收到变化。Ps:Webhook可能会发出大量的请求,确保接受的URL不被泄露或者应用能及时处理这些请求。

锡城小凯的博客 1万+

SpringBoot配置和自动配置原理

在 SpringApplication.run(...)的内部就会执行selectImports()方法,找到所有JavaConfig自动配置类的全限定名对应的 class,然后将所有自动配置类加载到Spring容器中。SpringBoot在底层都给我们自动配置好;Profile的意思是配置,对于应用程序来说,不同的环境需要不同的配置。spring.factories文件是Key=Value形式,多个Value时使用,隔开,该文件中定义了关于初始化,监听器等信息,而真正使自动配置生效的key是。

ddjjfff的博客 1280

基于simulink的车道保持辅助系统(LKA)的仿真与实现

本文介绍了如何利用Simulink实现车道保持辅助系统(LKA)的仿真与建模。首先对比了车道偏离预警(LDW)和LKA的功能差异,强调LKA的主动干预特性。接着详细阐述了LKA系统架构,包括环境感知、决策控制等核心组件,并基于自行车模型建立车辆横向动力学方程。 文章重点演示了Simulink建模步骤:搭建车辆动力学模型、设计LKA控制器(采用LQR算法)、实现执行器接口和驾驶员干预检测。通过四个典型场景的仿真测试,验证了系统在直道行驶、弯道跟踪等工况下的控制性能,并给出了关键评价指标。最后展望了MPC控制、

amy_mhd的博客 228

XCP实战系列介绍09-基于Vehicle Spy进行XCP测量步骤详解

详细介绍如何使用Vehicle Spy进行XCP测量

initiallizer的博客 1393

Spring Cloud Config三种配置服务

目录 一、配置服务端和客户端的服务搭建 1、在start.spring.io中添加Web、Actuator、Eureka Discovery、Config Server、Config Client模块 2、在项目中添加config-server-file模块 1)、在启动类中添加@EnableConfigServer注解 2)、在resources在添加configs目录,并在目录下创建...

it_lihongmin的博客 1083

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1881

**Spring Cloud Config 2.2.2** 是一个用于集中化配置管理的组件,它为分布式系统中的微服务提供了外部配置支持

Spring Cloud Config 2.2.2 提供了强大的功能,用于集中化管理配置信息,支持多环境部署和动态刷新配置,同时确保配置的安全性和一致性。是一个用于集中化配置管理的组件,它为分布式系统中的微服务提供了外部配置支持。

[Blog][Domain] programb.blog.youkuaiyun.com 431

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spring Cloud Config

Spring Cloud Config和Spring Cloud Eurake相似,都有客户端和服务端。 Spring Cloud Config的实现依赖于 git,将配置文件放到git上边;配置中心使用git pull的方式拉取到配置中心ConfigServer, 但是,config server端更新之后,config client端无法自动更新,只有手动的去调用/actuator/refresh来实现更新。 一、Spring Boot中run()方法的使用 我们可以看到Spring Boot中ru

qq_43170213的博客 244

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Spring Cloud系列代码09:Spring Cloud config server

Config Server提供了加密与解密的端点,分别是/encrypt 与 /decrypt。 可使用curl $CONFIG_SERVER_URL/encrypt -d 想要加密的明文来加密明文。 使用curl $CONFIG_SERVER_URL/decrypt -d 想要解密的密文来解密密文。 package com.didispace; import org.springframework.boot.autoconfigure.SpringBootApplication; import org

[Blog][Domain] programb.blog.youkuaiyun.com 192

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

一文搞懂 Spring Boot 与 Spring Cloud 外部化配置 所有

Spring Boot 和 Spring Cloud 提供了多种外部化配置方式,包括配置文件(application.yml/properties)、命令行参数、环境变量、系统属性等。Spring Boot 适合单体应用,支持 profile 区分环境;Spring Cloud Config 则提供集中式配置管理,适合分布式系统。两者都支持动态刷新配置,并可通过加密确保安全。最佳实践建议根据项目规模选择合适方式:小型应用使用本地配置,微服务架构采用 Config Server 集中管理。

IT幻彩世界之炫酷 767

Spring Boot 入门(四)微服务之 Config Server 统一配置中心

  一、目录结构 二、pom文件 &lt;!-- 配置服务依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt; &lt;artifactId&gt;spring-cloud-config-server&lt...

Lost_in_the_woods的博客 666

Spring Cloud——分布式配置中心Spring Cloud Config

上篇:Spring Cloud——分布式系统延迟容错组件Hystrix断路器 1. Spring Cloud Config简介 Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为server端和client端。server端为分布式配置中心,是一个独立的微服务应用;client端为分布式系统中的基础设置或微服务应用,通过指定配置中心来管理...

qqxhb 资源共享 251

Spring Cloud & SpringCloud Alibaba(一套标准化的微服务解决方案)

本文介绍了Spring Cloud微服务架构的基本概念、系统架构演变过程以及核心组件。主要内容包括:Spring Cloud作为微服务落地方案的优势,支持分布式系统开发,提供服务发现、负载均衡等功能;Spring Cloud Alibaba作为补充方案,具备高性能、高可用特性;微服务基础环境搭建步骤,创建父工程聚合管理多个微服务模块。文章通过架构图对比了单体架构、动静分离架构、分布式架构和微服务架构的差异,并提供了Spring Cloud与Spring Boot版本对应关系参考。

m0_48853274的博客 846

SpringCloud配置中心高可用搭建

本文通过config server连接git仓库来实现配置中心,除了git还可以使用svn或者系统本地目录都行。 引入依赖 &lt;dependencies&gt;    &lt;dependency&gt;        &lt;groupId&gt;org.springframework.cloud&lt;/groupId&gt;        &lt;artifactId&gt...

勇往直前的专栏 398

SpringBoot学习笔记——配置文件相关

SpringBoot的核心就是自动配置,它的配置一般都是默认的值,而我们如果想要修改这些属性和值就需要创建配置文件来进行设置。 Spring Boot提供了两种常用的配置文件,分别是application.properties / application.yml。他们的作用都是修改Spring Boot自动配置的默认值。 关于配置文件呢,这里有一篇博文讲解的非常详细:Spring Boot配置文件详解,想了解深入的伙伴可以看一下。 1. properties文件 springboot扫描配置文件的优先级:

待起飞的程序猿的博客 489

18、springboot默认的配置文件及导入额外配置文件

springboot默认的配置文件有哪些,及如何导入额外的配置文件

Java 领域技术分享 3916

Spring-cloud-Config 配置管理(配置文件自动刷新简单案例)

Spring cloud - Config ,实现Spring-cloud 项目中配置文件的自动刷新 配置⽂件想必⼤家都不陌⽣。在Spring Boot项⽬中,Spring 使用rabbitmq 与 git存储 、Eureka 进行配置文件的自动刷新

weixin_47637494的博客 1165

SpringringCloud-config 报错误:No spring.config.import property has been defined.Add a spring.config.imp

springcloud-config 报错:No spring.config.import property has been defined.Add a spring.config.import=configserver: property to your configuration. If configuration is not required add spring.config.import=optional:configserver

weixin_46916769的博客 2630

微服务之SpringCloud配置中心的搭建与热部署实现

Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,我们可以把配置放到远程服务器,集中化管理集群配置。

Young_深情不及里子的博客 2827
上一篇: Spring Cloud Hystrix实现原理
下一篇: Spring Cloud Config Client工作原理
思维的深度
博客等级 码龄11年 2万+粉丝 391原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值