前言:在单体应用中,我们一般的做法是把Property和Code放在一起,没有什么问题。但是在分布式系统中,由于存在多个服务实例,需要分别管理到每个具体的服务工程中的配置,上线需要准备check list 并逐个检查每个上线的服务是否正确。在系统上线之后修改某个配置,需要重启服务。这样开发就相当麻烦。因此我们急需需要把分布式系统中的配置信息抽取出来统一管理,服务获取系统信息时有一个覆盖顺序:property—> Evn——>配置中心。这样修改环境变量或者修改配置中心的配置就能取到最新的配置信息。在唯品会 Venus Framework中我们专门设计了这个功能。Spring cloud出现之后,避免了大家重复造轮子。
其官方文档中对自己的定义是如下,官网连接:Spring Cloud Config
Spring Cloud Config provides server and client-side support for externalized configuration in a distributed system.
With the Config Server you have a central place to manage external properties for applications across all environments.
简单来说,Spring Cloud Config就是我们通常意义上的配置中心 - 把应用原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理、发布能力。
另外,Spring Cloud Config提供基于以下3个维度的配置管理:
配置中心目前现状:不管是开源的(百度的disconf),还是一些公司自己闭源投入使用的产品已经不少了,那为什么还会诞生Spring Cloud Config呢?
在我看来,Spring Cloud Config在以下几方面还是有比较独特的优势,如下:
Environment
和PropertySource
的接口上述节点主要介绍了Spring cloud的相关理论,大家对Spring Cloud Config有了一个初步的认识,接下来例子让大家感受一下Spring cloud config的魅力。
上图简要描述了一个普通Spring Cloud Config应用的场景。其中主要有以下几个组件:
xujin
关注
发布 42 |
评论 15 |