Spring Cloud Config采用Git存储时两种常用的配置策略

由于Spring Cloud Config默认采用了Git存储,相信很多团队在使用Spring Cloud的配置中心时也会采用这样的策略。即便大家都使用了Git存储,可能还有各种不同的配置方式,本文就来介绍一下两种常用的配置策略。

第一种:多个项目公用一个Git仓库,用不同的目录区分项目

主要的配置项如下:

spring.cloud.config.server.git.uri=https://github.com/dyc87112/config-repo.git
spring.cloud.config.server.git.search-paths=/{application}

这种模式下不同的项目会对应到 https://github.com/dyc87112/config-repo.git仓库下的不同目录,如果项目中 spring.application.name=user-service,那么它的配置仓库会定位到 https://github.com/dyc87112/config-repo.git仓库下的 /user-service目录。配置文件按 application-{profile}.properties的格式存储, {profile}代表环境名。

优缺点分析

因为只使用一个Git库存储,所以当配置是由专人统一维护的时候比较方便。但是如果要做DevOps的话,权限控制上将变的非常的弱。

第二种:多个项目使用多个不同Git仓库

主要的配置项如下:

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

这种模式下不同的项目会对应的不同的Git仓库,如果项目中 spring.application.name=user-service,那么它的配置仓库会定位到 https://github.com/dyc87112/user-service.git仓库下的配置。配置文件按 application-{profile}.properties的格式存储, {profile}代表环境名。

优缺点分析

由于一个项目就有一个对应的存储配置的Git仓库,所以这种模式对于DevOps的应用支持较好,如果使用Gitlab作为Git服务端的话,还有不错的界面和权限管理来方便项目所属者使用和维护。如果团队不是DevOps模式管理的话,专人管理就会遇到有N多Git仓库要维护的困境。

本文的主要介绍内容就到这里,不知道您采用了哪种配置存储策略呢?如果有更好的方案欢迎留言分享!

隆重推荐

最后,正式向大家介绍一下最近紧锣密鼓开发和测试中的配置中心开源项目。

该项目基于Spring Cloud Config构建,旨在实现一套方便大家对配置管理的可视化工具,增强Spring Cloud Config的易用性,该项目即适用于目前已经在使用spring cloud config的用户,也适用于正在选型配置中心的用户。

小哥哥小姐姐们可以戳下面的链接了解一下,如果觉得不错,欢迎转发、Star支持!

  • Github: https://github.com/dyc87112/spring-cloud-config-admin
  • Gitee:https://gitee.com/didispace/spring-cloud-config-admin

P.S. 主要维护在Github,Gitee定期同步。

- END -

原文发布于微信公众号 - 程序猿DD(didispace)

原文发表时间:2018-07-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户2442861的专栏

CMake与Make

但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译...

991
来自专栏张戈的专栏

Linux操作系统DNS解析(nameserver)监控脚本

一、起因 昨天,开发组兄弟发现 resin 日志出现不少支付宝业务报错信息,用户用支付宝购买了产品,钱到账后公司系统却未返回支付成功状态! 这还得了?用户明明支...

4154
来自专栏专注数据中心高性能网络技术研发

Chrome插件Tampermonkey--自定义过滤百度网页搜索结果并去除广告栏和自动推荐

1.目的 过滤百度搜索的种种无内涵、低信息量、低质量的网页。 ---- 2.所需工具 浏览器:Chrome 插件:Tampermonkey  自定义脚本: ? ...

5875
来自专栏Python

$.cookie is not a function;原因及解决办法

一、没有引入jQuery库文件 二、jQuery库文件和jquery.cookie.js文件的顺序问题。须先引入jQuery库文件再引入cookie插件文件 ...

22310
来自专栏kevin-blog

解决在/etc/porfile下设置环境变量以后zsh没有起效的问题

今天在添加java的环境变量的时候,我在/etc/profile添加了环境变量,因为我使用的是zsh,在source /etc/profile以后,zsh的主题...

3211
来自专栏性能与架构

JS模块化开发的价值

非模块化方式开发的痛苦 (1)命名冲突 起初,我们定义了一个通用功能的JS文件,例如 utils.js(其中有一个 each 函数),谁需要谁调用即可 但随着项...

3044
来自专栏AILearning

Github 组织( organization ) 账号的申请和转换

组织(organization)账号:    类似一个公司, 此账号就无需登录[也没法登录啦],需要找到一个owner来管理它    我们可以添加owner,类...

2707
来自专栏蓝天

与慢速设备通讯异步化方案

与慢速设备通讯异步化方案.pdf像MySQL、被对接的银行系统等,都可称作慢速设备。它们的共同特点是只提供了同步调用接口,而且响应通常会比较慢。

741
来自专栏酷玩时刻

H5仿微信支付键盘

视频地址:https://github.com/Javen205/IJPay-Demo/blob/master/doc/pay_keyboard.m4v

1342
来自专栏Java帮帮-微信公众号-技术文章全总结

Linux查看日志命令【面试+工作】

2874

扫码关注云+社区

领取腾讯云代金券