导读 | Config分布式配置中心
一、为什么需要使用配置中心来统一管理配置呢?
通常在一个分布式环境中,同类型的、不同类型的服务往往多达几个或者千上百个服务实例。如果出现数据源、接口等变更时,针对单独一下服务程序员通过手工修改配置就可以了。但对于分布式环境中多达上千、上百的服务实例来说,单单修改配置这项目工作就会耗费程序员很多时间和精力。所以为了更好的解决分布式环境下多台服务实例的配置统一管理问题,程序构架师们引入了统一配置管理的思想来管理作为解决这类难题的解决方案。
我们结合上面这张图可以简单总结,如下:
1、集中管理
2、不同环境不同配置
3、运行期间动态配置,实现不停机情况下配置变更参数数据。
4、自动刷新,客户端获取服务时从配置中心获取最新状态服务。
二、什么是spring cloud Config(分布式配置中心)
Springcloud Config是一个为Spring量身定做的轻量级配置中心,巧妙的将应用运行环境映射为profile,应用版本映射为label。在服务端,基于特定的外部系统(Git、文件系统或者Vault)存储和管理应用配置。它分为服务端和客户端两部分。服务端是配置中心,它是一个独立的服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密、解决信息等访问接口。而客户端是各个微服务应用,它们通过配置吣来管理应用于资源与业务相关的配置内容,并在启动时从配置中心获取和加载配置信息。
三、如何构建springcloud Config 配置中心
主要有三步,可按照下面进行
第一步:创建一个基础的springboot工程,命名可随意。按照惯例在pom.xml中引入spring-cloud-config-server 的相关依赖。具体如下:
说明依赖包还要包含了资源。
第二步:创建启动类,使用@EnableConfigServer。这个注解开启config 的服务端功能。具体如下:
@EnableConfigServer:说明开启config 。
第三步:配置属性文件,配置application.pxy 。
配置config 的基础信息,如应用名、服务端口。注意下面这个图显示全部信息,不是pxy的格式,具体配置时要按照pxy的缩进格式编写。具体如下:
四、验证配置中心是否可用。
服务端我们已经配置创建完成,那怎么验证一下是否可用呢。
第一步:根据GIT配置的仓库位置,在下面创建一下config-repo目录作为配置仓库。并创建4个配置文件表示不同的环境。
其中设置了一个from属性,为每个配置文件分别设置了不同的值,如:
第二步:通过如下格式进行访问
第三步:返回JSON结果
可以看到多了个version版本号属性,它对应 的是git上的commit 号。证明git已经管理起来了配置文件这些信息。也说明了git仓库已经对环境配置进行了版本管理,这样用户就可以通过客户端(config 客户端)来方便地访问这些配置内容了。
五、总结
通过面向服务的配置方式,config 完成服务配置的维护,解决了对路由映射实例的维护问题。配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。
声明:文章属于个人原创,转载请注明文章出处