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. Linux系统下部署eleasticsearch+kibana

    1.官网下载eleasticsearch和kibana,两个版本应安装一致,否则会出现kibana连接不上eleasticsearch的情况(这里我以6.3.1为例) eleasticsearch的下 ...

  2. 【VSCode】检测到 #include 错误。请更新 includePath。已为此翻译单元(C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\i686-

    win+r 运行cmd 输入"gcc -v -E -x c -"获取mingw路径: 我的: #include "..." search starts here ...

  3. Flutter 中如何优雅的实现多渠道打包(埋点统计系列)

    我是 Zero,脑图先奉上 先赞后看,更新永不断 只要你关注 Flutter,这篇文章你绝对用得着,==> 强烈建议收藏 多渠道打包介绍 多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动 ...

  4. 转置Table.Transpose(Power Query 之 M 语言)

    数据源: 任意五行两列 目标: 转置成两行五列 操作过程: [转换]>[转置] M公式:  = Table.Transpose( 表 )  

  5. CF1494B Berland Crossword 题解

    Content 有一种叫做 Berland crossword 的拼图游戏.这个拼图由 \(n\) 行 \(n\) 列组成,你可以将里面的一些格子涂成黑色.现在给出 \(T\) 个这样的拼图,每个拼图 ...

  6. 如何获得Spring容器里管理的Bean,。不论是Service层,还是实体Dao层

    如何获得Spring容器里管理的Bean,.不论是Service层,还是实体Dao层, 下面的这个必须配置,否则必出错,空指针 下面的这个是代码 而获得bean代码如下: serviceManager ...

  7. Guava Retryer实现接口重试

    前言 小黑在开发中遇到个问题,我负责的模块需要调用某个三方服务接口查询信息,查询结果直接影响后续业务逻辑的处理: 这个接口偶尔会因网络问题出现超时,导致我的业务逻辑无法继续处理: 这个问题该如何解决呢 ...

  8. c++之升序和降序排序

    1.头文件 #include <functional> 2. 降序 // 期末成绩 int score[] = {99, 77, 30, 80}; // 1. 降序排列 std::sort ...

  9. windows修改控制台编码

    1.关于 演示环境: win10 1909 2.代码定义 编码代码 释义 65001 UTF-8代码页 950 繁体中文 936 简体中文默认的GBK 437 MS-DOS 美国英语 3.注册表修改 ...

  10. 【LeetCode】1399. 统计最大组的数目 Count Largest Group

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 直接求 日期 题目地址:https://leetcod ...