spring cloud config是spring cloud微服务经典配置服务,同样可以作为配置中心的组件还有:
配置中心 | 说明 |
---|---|
spring cloud config | git配置,通过git hook进行刷新 |
apollo | 通过配置界面配置 |
nacos | 通过配置界面配置 |
diamand | 通过配置界面配置 |
zookeeper | 同spring cloud config原理 |
从对比可以看到,配置中心两个套路,一个是实现配置界面作为配置中心;一个是集成方式实现配置中心,如spring cloud config和zookeeper作为配置中心。显然集成方式的配置中心实现比较简单。
spring cloud config原理
如上图,对于Eureka Spring cloud config有配置中心服务端集群(图中省略了Eureka),客户端服务集成Spring cloud config client的SDK。
- 配置信息存储在git仓库
- Spring cloud config server以集群方式组件,Spring cloud config server本身没有持久化存储,在启动时通过配置的git仓库地址进行拉取,拉取后初始化配置信息。
- 客户端服务使用sdk,在初始化时到配置中心进行拉取,所以这里配置中心需要先启动。
- 实时更新,Spring cloud config的服务端使用git的web hook实现,而客户端则通过MQ来实现。
小结
Spring cloud config使用git仓库,比较易于工程化,是个轻量级的配置中心实现。