1.说明

基于已经创建好的Spring Cloud配置中心,
在配置中心仅保存一套配置文件,
多个客户端可以通过配置中心读取到相同的配置,
而不需要在每个客户端重复配置一遍,
下面以一个Config Client为例,
抽取其中的公共配置到配置中心,
且公共配置进一步细分为多个文件,
从而实现多个客户端共享公共配置,
解决微服务集群下配置文件维护的难题。

2.Config Client的现有配置

本地的application.yml:

# 开发环境
server:
port: 8004 config:
info: config info dev spring:
profiles: dev
application:
name: config-client-dev
cloud:
config:
label: master
name: gateway-server,eureka-client
profile: dev
uri: http://config:config123456@localhost:9009 eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
service-url:
register-with-eureka: true
fetch-registry: true
defaultZone: http://eureka:eureka123456@localhost:7001/eureka

3.抽取自己的配置文件

把Config Client自己的配置保存到config-client-dev.yml,
并且提交到Config Server的仓库管理:

# 开发环境
server:
port: 8004 spring:
profiles: dev
application:
name: config-client-dev config:
info: config info dev

4.抽取访问Eureka的配置文件

把访问Eureka的配置保存到eureka-client-dev.yml,
并且提交到Config Server的仓库管理:

eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
service-url:
register-with-eureka: true
fetch-registry: true
defaultZone: http://eureka:eureka123456@localhost:7001/eureka

5.抽取访问Config Server的配置文件

删除原来的application.yml文件,
本地新建bootstrap.yml:
把访问Config Server的配置保存到bootstrap.yml:

spring:
cloud:
config:
label: master
name: config-client,eureka-client
profile: dev
uri: http://config:config123456@localhost:9009

这样每个Config Client本地都只需要这样一个bootstrap.yml。

6.启动服务

先启动Config Server,
再启动Eureka Server,
最后启动Config Client,
发现Config Client能够正常启动,
并且提供业务服务,配置成功。

7.公共配置方案2

由于Config Client会默认读取配置中心application.yml配置,
可以通过application.yml作为公共配置文件,
把所有的公共配置放进去,
但是每个客户端都会读取到相同的配置,
没有上面的方案1针对性强。

8.Config Client修改bootstrap.yml

去掉bootstrap.yml中spring.cloud.config.name属性的eureka-client:

spring:
cloud:
config:
label: master
name: config-client
profile: dev
uri: http://config:config123456@localhost:9009

9.抽取公共application-dev.yml文件

新建application-dev.yml文件,
把访问Eureka的配置放进去,
也可以放入数据库连接等其他公共配置,
并且提交到Config Server的仓库管理:

eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
service-url:
register-with-eureka: true
fetch-registry: true
defaultZone: http://eureka:eureka123456@localhost:7001/eureka

10.重启服务

重启服务成功后,
发现Config Client仍然能够注册到Eureka,
并且提供业务服务,方案2配置成功。
另外如果config-client-dev.yml和application-dev.yml存在相同配置,
则以config-client-dev.yml的配置为准。

11.参考文章

Spring-Cloud-Config 多服务公共文件配置

SpringCloud创建Config多客户端公共配置的更多相关文章

  1. SpringCloud创建Config读取本地配置

    1.说明 Config Server获取配置支持的方式很多, 包括Git仓库(github/gitee等),任何与JDBC兼容的数据库, Subversion,Hashicorp Vault,Cred ...

  2. SpringCloud创建Config Client配置读取

    1.说明 本文详细介绍配置中心客户端使用方法, 即Config Client到Config Server读取配置, 这里以创建Config Client服务为例, 基于已经创建好的Config Ser ...

  3. SpringCloud创建Config Client通过Eureka访问Config

    1.说明 本文详细介绍配置中心客户端使用方法, 即Config Client到Config Server读取配置. 读取配置的方式有两种, 第一种是直接配置Configer Server的URL, 第 ...

  4. SpringCloud创建Config模块

    1.说明 本文详细介绍Spring Cloud创建Config模块的方法, 基于已经创建好的Spring Cloud父工程, 请参考SpringCloud创建项目父工程, 创建Config模块这个子工 ...

  5. springcloud之config 配置管理中心之配置属性加密解密

    1.为什么要加密解密? 为了维护项目的安全性. 2.配置加密解密的前提是什么? 要进行JCE下载,然后替换掉jdk的security文件: 下载链接:http://www.oracle.com/tec ...

  6. springcloud(四):Eureka客户端公共组件打包方式

    ,      一.前言  各位大佬应该知道,在大型项目中都需要有数据传输层,一般项目都采用的是MVC结构,如果有10个表,则会创建10个实体类,在各个层之间应该使用实体类传递数据: 在微服架构中,也许 ...

  7. SpringCloud创建Eureka Client服务注册

    1.说明 本文详细介绍微服务注册到Eureka的方法, 即Eureka Client注册到Eureka Server, 这里用任意一个Spring Cloud服务为例, 比如下面已经创建好的Confi ...

  8. 【微服务】- SpringCloud中Config、Bus和Stream

    文章目录 SpringCloud中Config 1.Config的简介 官网 分布式系统面临的问题 config是什么 如何使用 能做什么 与git的配合使用 2.Config服务端的配置和测试 准备 ...

  9. SpringCloud系列——Config 配置中心

    前言 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持.有了配置服务器,您就有了一个中心位置来管理跨所有环境的应用程序的外部属性.本文记录实现一个配置中心.客 ...

随机推荐

  1. Nginx流量拷贝

    1. 需求 将生产环境的流量拷贝到预上线环境或测试环境,这样做有很多好处,比如: 可以验证功能是否正常,以及服务的性能: 用真实有效的流量请求去验证,又不用造数据,不影响线上正常访问: 这跟灰度发布还 ...

  2. @Data 注解引出的 lombok

    今天在看代码的时候, 看到了这个注解, 之前都没有见过, 所以就查了下, 发现还是个不错的注解, 可以让代码更加简洁. 这个注解来自于 lombok,lombok 能够减少大量的模板代码,减少了在使用 ...

  3. Oracle 学习PL/SQL

    先上一张实用的图:用于转义字符的. SQL> select chr(42) ||'is what?' from dual; CHR(42)||---------*is what? 想转义哪个就转 ...

  4. shell脚本实现openss自建CA和证书申请

    #!/bin/bash # #******************************************************************** #Author: Ma Xue ...

  5. 【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)

    [初次学习.配置的笔记,如有不当,欢迎在评论区纠正 -- 萌狼蓝天 @ 2021-12-02] 基本概念 FTP访问方式 实体账号:本地账户 来宾账户:guest 匿名登录:anonymous fp ...

  6. 【Spark】【复习】Spark入门考前概念相关题复习

    Spark考前概念相关题复习 AUthor:萌狼蓝天 哔哩哔哩:萌狼蓝天 博客园:我的文章 - 萌狼蓝天 博客:萌狼工作室 - 萌狼蓝天 (mllt.cc) 选择题 Hadoop 1.HADOOP的三 ...

  7. opencv学习(四)——轨迹栏作为调色板

    轨迹栏作为调色板 在这里,我们将创建一个简单的应用程序,以显示指定的颜色.有一个显示颜色的窗口,以及三个用于指定B.G.R颜色的轨迹栏.滑动轨迹栏,并相应地更改窗口颜色.默认情况下,初始颜色将设置为黑 ...

  8. Identity Server 4 从入门到落地(十二)—— 使用Nginx集成认证服务

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  9. 华为HMS Core图形引擎服务携手三七游戏打造移动端实时DDGI技术

    在2021年HDC大会的主题演讲中提到,华为HMS Core图形引擎服务(Scene Kit)正协同三七游戏一起打造实时DDGI(动态漫反射全局光照:Dynamic Diffuse Global Il ...

  10. 小迪安全 Web安全 基础入门 - 第四天 - 30余种加密编码进制&Web&数据库&系统&代码&参数值

    一.密码存储加密 1.MD5值是32或16位由数字"0-9"和字母"a-f"所组成的字符串 2.SHA1加密的密文特征与MD5类似,但位数是40位 3.NTLM ...