Spring Cloud Config 为分布式系统中的外部配置提供服务器端和客户端支持。使用 Config Server,您可以集中管理所有环境中应用程序的外部配置。

Spring Cloud Config就是一个配置中心,所有的服务都可以从配置中心取出配置,而配置中心又可以从GitHub远程仓库中获取云端的配置文件,这样只需要修改GitHub中的配置即可对所有的服务进行配置管理了

服务端配置

创建一个新项目用于配置中心的服务器,并将其注册到eureka服务器中

先导入依赖

<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>
</dependencies>

启动类添加上注解

@SpringBootApplication
@EnableConfigServer
public class ConfigApplication {public static void main(String[] args) {SpringApplication.run(ConfigApplication.class, args);}
}

修改配置文件

server:
  port: 8700
spring:
  application:
    name: configserver
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8801/eureka, http://localhost:8802/eureka

然后在本地创建一个git仓库用于保存配置文件,注意文件名称最好是{服务名称}-{环境}.yml

修改configserver的配置文件

spring:
  cloud:
    config:
      server:
        git:
            # 这里填写的是本地仓库地址,远程仓库直接填写远程仓库地址 http://git...
          uri: file://D:\configRepo
          # 默认分支设定为你自己本地或是远程分支的名称
          default-label: master

启动配置服务器,可以通过以下格式进行配置文件的访问

  • http://localhost:8700/{服务名称}/{环境}/{Git分支}

  • http://localhost:8700/{Git分支}/{服务名称}-{环境}.yml

比如

http://localhost:8700/bookservice/prod/main

localhost:8700/master/bookservice-dev.yml

除了使用Git来保存之外,还支持一些其他的方式

客户端配置

服务端配置完成之后,还需要配置一下客户端。如果云端存储着所有配置,我们可以删除原来的application.yml文件(也可以保留,最后无论是远端配置还是本地配置都会被加载),改用bootstrap.yml(在application.yml之前加载,可以实现配置文件远程获取)

先导入相关依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

配置bootstrap.yml文件

spring:
  cloud:
    config:
        # 名称,其实就是文件名称
      name: bookservice
      # 配置服务器的地址
      uri: http://localhost:8700
      # 环境
      profile: prod
      # 分支
      label: main

这样就完成了远程调用服务端的配置

config:配置中心相关推荐

  1. Spring Cloud Alibaba - 19 Nacos Config配置中心加载不同微服务的通用配置的两种方式

    文章目录 Pre 实现 方式一 通过 shared-dataids 方式 方式二 通过 ext-config方式 配置文件优先级 源码 Pre Spring Cloud Alibaba - 18 Na ...

  2. Spring Cloud Alibaba - 18 Nacos Config配置中心加载相同微服务的不同环境下的通用配置

    文章目录 需求 实现 Step 1 Nacos Config 新增公共配置 Step 2 验证 配置文件优先级 源码 需求 举个例子,同一个微服务,通常我们的servlet-context 都是相同的 ...

  3. Seata 与 Nacos Config配置中心整合_03

    前言:之前我们只将nacos注册中心和seata进行了整合,如果需要实现完整的功能还需要与nacos的配置中心进行整合. 文章目录 一.配置管理 1. 创建文件config.txt 2. 创建naco ...

  4. 最新版Spring Cloud Alibaba微服务架构-Config配置中心篇

    文章目录 前言 一.Config引入背景 1.文件相对分散 2.无法区分环境 3.无法实时更新 4.安全无法保证 二.Config引入配置 1.配置文件格式 1.1 命名空间(Namespace) 1 ...

  5. SpringCloud config 配置中心集群配置以及整合消息总线BUS实现关联微服务配置自动刷新

    一.SpringCloud Config 基本配置中的问题 在上一章节<SpringCloud config 配置中心介绍与基本配置使用>中我们现实了配置中心的配置集中管理.调用微服务应用 ...

  6. SpringCloud Consul Config 配置中心 (二)

    上次配置中心启动命令为consul agent -dev,这样数据不会持久化,重新启动consul后key/value配置的信息会丢失. 实现数据持久化,使用如下命令启动,-data-dir 为数据保 ...

  7. SpringCloud微服务应用-config配置中心(介绍、搭建、动态刷新、测试)

    文章目录 前言 一.传统应用配置痛点 二.Config 配置中心介绍 三.服务端Config Server搭建 1.pom依赖 2.application启动类配置 3.application.yml ...

  8. Java之 Spring Cloud 微服务的 SpringCloud Config 配置中心(第四个阶段)【二】【SpringBoot项目实现商品服务器端调用】

    SpringCloud学习目录点击跳转对应的文章 Java之 Spring Cloud 微服务搭建(第一个阶段)[一][SpringBoot项目实现商品服务器端是调用] Java之 Spring Cl ...

  9. (七)Alian 的 Spring Cloud Config 配置中心(客户端)

    目录 一.背景 二.maven依赖 三.配置文件 四.验证 一.背景   通过上一篇文章,我们已经搭建了配置中心了,接下里我们继续改造我们的订单服务了,之前我们的订单服务的数据库配置还是写在配置文件中 ...

  10. SpringCloud Alibaba微服务实战(四) - Nacos Config 配置中心

    说在前面 Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.Nacos Config就是一个类似于SpringCloud Config的配置中心. 一.启动N ...

最新文章

  1. 华为H3C ER3100由器限速方法合集
  2. 揭开隐藏数据的面纱,优化应用程序性能(转)
  3. java字符串构造函数的应用_StringTokenizer类的使用
  4. 关于MD5对用户密码不进行明文保存的问题
  5. UVa 202 Repeating Decimals
  6. mysql cpu高 重启无效_解决mysqlcpu高的问题
  7. PHP5.4 + IIS + Win2008 R2 配置
  8. -字符串-搜索和替换--聚合
  9. SQL2K数据库开发七之表操作添加删除和修改列
  10. 智能优化算法:水基湍流优化算法-附代码
  11. 以编程方式打印 XPS 文件
  12. MySQL基础笔记(14)-使用Amoeba和Docker搭建MySQL读写分离架构
  13. 纯洁的心--佩雷尔曼
  14. 联想 thinkpad usb 移动硬盘 u盘 BIOS 启动 ubuntu 系统
  15. AVC编码中的规格 :High、Baseline、Main什么意思?还有High@L3.0、High@L4.0、High@L5.1等
  16. linux嵌入式开发位置,RedHat 系列 Linux 安装后,建立嵌入式开发环境
  17. [HPM] Error occurred while trying to proxy request /login/account from localhost:8000 to localhost:8
  18. java汉字转拼音和获取汉语拼音首字母
  19. 自己收款码实现个人网站支付
  20. SQL Server 学习笔记——T-SQL

热门文章

  1. 合肥市直计算机知识pdf,事业单位计算机基础知识题库(全).pdf
  2. DSP(TMSF280049C)学习笔记1:软件的安装与新工程的建立
  3. java对encodeuri_简单明了区分escape、encodeURI和encodeURIComponent
  4. 计算机专业该不该考研
  5. 保姆级教程:图解Transformer
  6. 编译 latex时出现以下问题:misplaced alignment tab character
  7. 【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
  8. Python大数据处理库PySpark实战——使用PySpark处理文本多分类问题
  9. 最新彩虹易支付六合一支付插件
  10. python自动化测试项目全流程