Spring Cloud(九):配置中心Config

一、背景

随着时间的推移,以往的单点部署项目,渐渐的转变为多点,分布式集群部署。接踵而来的是配置文件的凌乱部署,某一个基础服务的配置变更,都将造成服务的重新部署。

二、概述

Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。很容易添加替代实现,并使用Spring配置将其插入。

三、特点

Spring Cloud Config就是云端存储配置信息的,它具有中心化,版本控制,支持动态更新,平台独立,语言独立等特性。

其特点是:

a.提供服务端和客户端支持

b.集中式管理分布式环境下的应用配置

c.基于Spring环境,无缝与Spring应用集成

d.可用于任何语言开发的程序

e.默认实现基于git仓库,可以进行版本管理

f.可替换自定义实现

四、理解、说明

4.1:服务端Server

拉取配置时,更新git仓库副本,保证了最新的结果数据;

支持了数据结构丰富,yml、json、properties等;

配合Eureka可以实现服务的发现,配合Cloud Bus可以实现消息的推送更新;

配置可以基于SVN、GIT进行版本管理(本章只演示GIT版本工具)。

代码演示:

spring:

cloud:

config:

server:

git:

uri: https://github.com/spring-cloud-samples/config-repo

4.2:客户端Client

client我们只需要指明需要哪个配置文件即可,获取资源方式格式如下:

/{application}/{profile}[/{label}]

/{application}-{profile}.yml

/{label}/{application}-{profile}.yml

/{application}-{profile}.properties

/{label}/{application}-{profile}.properties

解释说明:
{application}映射到客户端的“spring.application.name”;
{profile}映射到客户端上的“spring.profiles.active”(逗号分隔列表);
{label}这是一个服务器端功能,标记“版本”的配置文件集。

五、案例

5.1:在gitHub上新增一个配置项

这里写图片描述
5.2:配置Server端

结合Eureka做服务的发现与注册

pom.xml配置如下:
这里写图片描述

5.3:配置服务端文件properties

除了以往的服务注册配置,还有远程配置中心GitHub地址

服务注册

这里写图片描述
gitHub配置管理
这里写图片描述

5.4:服务端启动程序入口

这里写图片描述
5.5:查看是否服务发现
这里写图片描述

我们可以通过Server启动的mapping映射也可以看出启动的接口服务
这里写图片描述

说明:
这些接口服务正是获取资源格式类型。

接口访问配置文件:
这里写图片描述

5.6:客户端配置
pom.xml
这里写图片描述
服务注册
这里写图片描述
配置中心
这里写图片描述
入口程序
这里写图片描述
接口Controller
这里写图片描述
说明:如下的启动日志我们可以看出,拉取了配置从配置服务端8888节点;也加载了远程配置文件
启动日志

这里写图片描述
Eureka服务发现注册中心
这里写图片描述
5.7:页面访问说明
接口访问
这里写图片描述
说明:通过接口访问我们可以获取远程配置中心bar的值;那么如果配置中心如果修改了bar的值域,我们将如何获取最新的通知,是重启服务,还是广播通知呢?是的,我们引用Cloud生态圈的另一个组件Spring Cloud Bus消息总线机制获取最新的值,尽请期待!

代码地址:https://github.com/rubenYuan/Spring-Cloud-Samples
PPT:http://download.csdn.net/download/ruben95001/9974839

上一篇:Spring Cloud(八):服务转发路由zuul

猜你喜欢

转载自blog.csdn.net/ruben95001/article/details/81273154