avatar

目录
spring cloud config 分布式配置中心

1

配置说明:

Server端启动后,提供了如下的接口地址,参数说明

  • application:应用名
  • profile:环境
  • label:版本
Code
1
2
3
4
5
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties

NOTE:是配置文件的名字一般是有两部分组成,举个例子感受下,alan-provider-data-config-dev.properties,其中alan-provider-data-config是第一部分,这部分建议通过命名规则能让你知道是哪一个项目的配置,并且客户端要配置spring.cloud.config.name=alan-provider-data-config,才能让客户端知道自己要去服务端找哪一个配置文件。dev是第二部分,这部分用以区别配置文件应用的场景,是开发环境、测试环境或者生产环境

配置管理:

应用

  • 这个比较好理解,每个配置都是属于某一个应用的

环境

  • 每个配置都是区分环境的,如dev, test, prod等,在文件名中标注

版本

  • 这个可能是一般的配置中心所缺乏的,就是对同一份配置的不同版本管理
  • Spring Cloud Config提供版本的支持,也就是说对于一个应用的不同部署实例,可以从服务端获取到不同版本的配置,这对于一些特殊场景如:灰度发布,A/B测试等提供了很好的支持。

仿造qconfig 说明:

(1)同一文件可以区分环境(通过后缀)

(2)不同的应用有不同的文件, 但是,统一应用下应该不能有多个文件,(可以改为,应用名+文件名-环境。properties。拼接 用来 区分 不同应用下面的不同文件)

(3)回滚:目前看来每一个文件都有自己的版本 可以支持 单个文件的回滚

返回样式:(1)

Code
1
2
3
4
5
http://localhost:9001/config-server/dev/master

{"name":"config-server","profiles":["dev"],"label":"master","version":"89dbe3408f25a2451a4b383da480c714d26cf620","state":null,"propertySources":
[{"name":"https://github.com/Eric-ly/hconfig-properties.git/configRepo/config-server-dev.properties","
source":{"test":"abc"}}]}

(2)http://localhost:9001/config-server-dev.properties

Code
1
test: abc

抽风异常:

Code
1
2
3
4
5
ConfigServer 文件系统

GIT做文件系统,文件都会被clone到本地文件系统中,默认这些文件会被放置到以config-repo-为前缀的系统临时目录,在 linux 上应该是 /tmp/config-repo-目录,如果你遇到了不可预知的问题出现,你可以通过设置spring.cloud.config.server.git.basedir参数值为非系统临时目录。

Config Server中,还有一种从本地classpath 或文件系统中加载配置文件的方式,可以通过

更新:

https://www.cnblogs.com/ityouknow/p/6931958.html

webhook和spring cloud bus 配合

热更新:

http://www.jianshu.com/p/ee504c7b6fe2

问题1:

刷新问题:现在可以实现 更新代码,客户端 全部获取到最新的代码,但是没有推送功能,和对应的推送功能(参考qconfig的推送功能)

问题2:

获取配置文件的问题:获取整个文件,而不是 文件中的值,这样可以对外提供接口,灵活使用。

应该要修改源代码

3思路:

server , client jar 然后 代码中加jar 实现热更新, 代码中去扫描,不用再config中做太多的事情

client :(1)存放路径 (是否有版本)(2)怎么把全部配置拉下来(或者)

(2)配置热更新 总线

文章作者: 美式不加糖
文章链接: http://yoursite.com/2017/12/06/spring-cloud-config%E5%88%86%E5%B8%83%E5%BC%8F%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 湖畔小屋
打赏
  • 微信
    微信
  • 支付寶
    支付寶