第十三章:SpringCloud Config Client的配置

简介: This is the default behaviour for any application which has the Spring Cloud Config Client on the classpath.

This is the default behaviour for any application which has the Spring Cloud Config Client on the classpath. When a config client starts up it binds to the Config Server (via the bootstrap configuration property spring.cloud.config.uri) and initializes Spring Environment with remote property sources.
The net result of this is that all client apps that want to consume the Config Server need a bootstrap.yml (or an environment variable) with the server address in spring.cloud.config.uri (defaults to "http://localhost:8888").

文档大意: configclient 服务启动后,默认会先访问bootstrap.yml,然后绑定configserver,然后获取application.yml 配置。如果仅仅在application.yml 配置了url:http://127.0.0.1:8080 这样默认会使用8888端口,(配置无效)。
所以,

1. 我们将绑定configserver的配置属性应该放在bootstrap.yml文件里。
img_96510fc485af69dd935dea59f7d768f9.png
image.png
2. pom
            <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

因为用到mvc,所以添加web依赖

3.application
img_ab141cbeaed7fac0bde94f7c593276d5.png
image.png
4. 写一个获取配置信息的controller
img_caafa59fc351e41043da9bb97647b7c0.png
xxx
5. 测试是否连接上server
img_0d91a0fceebabf89113449a3e89e028e.png
image.png

img_16573734b035996c40f90239fdb3bfe7.png
image.png

img_8df5ccec4c859884ff81f5ae3ce4362e.png
image.png

注意:

一般来说git上放的yml名称都以 ${application.name}-dev.yml 命名。
因为:如果client服务没有声明application.name的话,如果去configserver里拉取配置,cloud会默认拉取application.yml
当然:你按照规范,给application.name:laojiao 然后git上放个对应配置文件laojiao.yml 或者 laojiao-xxxxx.yml 注意命名唯一,这样client就能找到对应的配置文件。否则默认去找application.yml

高性能配置:

一、git repo 仓库设置 (将上面的替换。隔离性高)Placeholders in Git URI

or a "one repo per profile" policy using a similar pattern but with {profile}.

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/myorg/{application}

意思是: 一个项目 创建一个专门的git仓库,该仓库里只存放对应服务名称的配置文件。
例如: 我有个laojiao和tiantian模块,我就创建两个 git仓库,一个叫 laojiao,一个叫tiantian,然后在模块里的spring.application.name 就是laojiao / tiantian。最后,在config server里的配置文件git: uri: https://github.com/myorg/{application} 这个{application}通配符会自动获取模块对应的仓库去获取配置文件。

二、Placeholders in Git Search Paths 获取一个git仓库下的文件夹名称,来找配置

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/spring-cloud-samples/config-repo
          searchPaths: '{application}'

https://github.com/spring-cloud-samples/config-repo路径下,找对应的laojiao / tiantian 文件夹,然后获取配置文件

相关文章
|
2月前
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
14天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
85 0
|
2月前
|
Java 开发工具 对象存储
简化配置管理:Spring Cloud Config与Netflix OSS中的动态配置解决方案
简化配置管理:Spring Cloud Config与Netflix OSS中的动态配置解决方案
39 2
|
2月前
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
57 0
Vue3基础(19)___vite.config.js中配置路径别名
|
21天前
|
前端开发 JavaScript
vite vue3 config配置
【10月更文挑战第5天】
40 0
|
3月前
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
25天前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
31 0
|
3月前
|
Java 微服务 Spring
Spring Cloud全解析:配置中心之解决configserver单点问题
但是如果该configserver挂掉了,那就无法获取最新的配置了,微服务就出现了configserver的单点问题,那么如何避免configserver单点呢?
|
2月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba

热门文章

最新文章