springcloud学习手册-Config 分布式配置中心

导读 | Config分布式配置中心

一、为什么需要使用配置中心来统一管理配置呢?

通常在一个分布式环境中,同类型的、不同类型的服务往往多达几个或者千上百个服务实例。如果出现数据源、接口等变更时,针对单独一下服务程序员通过手工修改配置就可以了。但对于分布式环境中多达上千、上百的服务实例来说,单单修改配置这项目工作就会耗费程序员很多时间和精力。所以为了更好的解决分布式环境下多台服务实例的配置统一管理问题,程序构架师们引入了统一配置管理的思想来管理作为解决这类难题的解决方案。

我们结合上面这张图可以简单总结,如下:

1、集中管理

2、不同环境不同配置

3、运行期间动态配置,实现不停机情况下配置变更参数数据。

4、自动刷新,客户端获取服务时从配置中心获取最新状态服务。

二、什么是spring cloud Config(分布式配置中心)

Springcloud Config是一个为Spring量身定做的轻量级配置中心,巧妙的将应用运行环境映射为profile,应用版本映射为label。在服务端,基于特定的外部系统(Git、文件系统或者Vault)存储和管理应用配置。它分为服务端和客户端两部分。服务端是配置中心,它是一个独立的服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密、解决信息等访问接口。而客户端是各个微服务应用,它们通过配置吣来管理应用于资源与业务相关的配置内容,并在启动时从配置中心获取和加载配置信息。

三、如何构建springcloud Config 配置中心

主要有三步,可按照下面进行

第一步:创建一个基础的springboot工程,命名可随意。按照惯例在pom.xml中引入spring-cloud-config-server 的相关依赖。具体如下:

说明依赖包还要包含了资源。

  • spring-cloud-dependencies: 配置资源

第二步:创建启动类,使用@EnableConfigServer。这个注解开启config 的服务端功能具体如下:

@EnableConfigServer:说明开启config 。

第三步:配置属性文件,配置application.pxy

配置config 的基础信息,如应用名、服务端口注意下面这个图显示全部信息,不是pxy的格式,具体配置时要按照pxy的缩进格式编写。具体如下:

  • port 服务端口
  • name 服务名称
  • GIT配置 ,如配置uri(仓库位置)、searchPaths(仓库路径下的相对搜索位置,可以配置多个)、username(访问GIT仓库的用户名) 、password(访问GIT仓库的密码),因为config要基于git使用的,所以这里也配置了git的一些属性。

四、验证配置中心是否可用。

服务端我们已经配置创建完成,那怎么验证一下是否可用呢。

第一步:根据GIT配置的仓库位置,在下面创建一下config-repo目录作为配置仓库。并创建4个配置文件表示不同的环境。

其中设置了一个from属性,为每个配置文件分别设置了不同的值,如:

  • from=git-dev-1.0
  • from=git-test-1.0
  • from=git-prod-1.0
  • from=git-default-1.0

第二步:通过如下格式进行访问

第三步:返回JSON结果

可以看到多了个version版本号属性,它对应 的是git上的commit 号。证明git已经管理起来了配置文件这些信息。也说明了git仓库已经对环境配置进行了版本管理,这样用户就可以通过客户端(config 客户端)来方便地访问这些配置内容了。

五、总结

通过面向服务的配置方式,config 完成服务配置的维护,解决了对路由映射实例的维护问题。配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。

声明:文章属于个人原创,转载请注明文章出处

原文发布于微信公众号 - 全华班(quanhuaban)

原文发表时间:2018-01-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏别先生

Hadoop数据分析平台项目实战(基于CDH版本集群部署与安装)

1、Hadoop的主要应用场景:   a、数据分析平台。   b、推荐系统。   c、业务系统的底层存储系统。   d、业务监控系统。 2、开发环境:Linux...

3774
来自专栏腾讯云实验室

搭建 Docker 环境

腾讯云提供了开发者实验室帮助用户搭建 Docker 环境,教程内容如下,用户可以点击开发者实验室快速上机完成实验。

2499
来自专栏编程坑太多

『中级篇』Docker Compose的安装和基本使用(39)

PS: docker-compose的概念有直观的理解,包括compose的命令行和使用。

855
来自专栏Java成神之路

hadoop_学习_02_Hadoop环境搭建(单机)

官方版本:http://archive.apache.org/dist/hadoop/

482
来自专栏CaiRui

linux NFS网络文件系统

一、NFS服务简介   NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由sun公司开发,于1984年向外...

1949
来自专栏Jed的技术阶梯

在Linux中安装JDK

JDK安装包 下载地址:http://www.oracle.com/technetwork/java/javase/archive-139210.html

622
来自专栏容器云生态

自动化监控(一)之zabbix安装与配置

1.1 Zabbix简介    Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支...

2468
来自专栏编程坑太多

『中级篇』Docker Compose的安装和基本使用(39)

PS: docker-compose的概念有直观的理解,包括compose的命令行和使用。 建议使用docker-compose up -d 后台来运行,如果不...

532
来自专栏云霄雨霁

网络体系结构

2000
来自专栏散尽浮华

Docker容器学习梳理--基础环境安装

以下是centos系统安装docker的操作记录 1)第一种方法:采用系统自带的docker安装,但是这一般都不是最新版的docker 安装epel源 [roo...

2215

扫描关注云+社区