Spring Cloud Config--服务配置组件配置与使用

原创 2018年04月15日 10:40:43

目标:使用Spring Cloud Config建立服务配置中心

开发环境:IntelliJ IDEA

操作步骤:基础环境配置->Config Server组件配置->客户端微服务编写->远程Git仓库配置与应用测试->HA配置测试


1.基础环境配置

与Eureka组件类似,新建一个项目Spring_Cloud_Config,配置参考博客:

https://blog.csdn.net/xingyuzhe/article/details/79907748

2.Config Server组件配置

对传统的单体应用,常使用配置文件管理所有配置:例如一个Spring Boot开发的单体应用,可将配置内容放在application.yml文件中,如需切换环境,则需要在启动应用时指定spring.profiles.active={profile}。

统一管理微服务配置需求:

(1)集中管理配置

(2)不同环境不同配置

例如,数据源配置在不同的环境(开发、测试、预发布、生产等)中是不同的

(3)运行期间可动态调整

可根据各个微服务的负载情况,动态调整数据源连接池大小或熔断阈值,并在调整配置时不停止微服务

(4)配置修改后可自动更新

如配置内容发生变化,微服务能够自动更新配置

综上,对微服务架构而言,一个通用的配置管理机制是必不可少的,常见做法是使用配置服务器管理配置。

Spring Cloud Config为分布式系统外部化配置提供了服务端和客户端的支持,包含Config Server和Config Client两部分。

项目地址:https://github.com/spring-cloud/spring-cloud-config


开发流程:

(1)新建Module工程-CaaS_Config_Server



(2)添加配置依赖

config配置依赖:


maven插件配置依赖:


(3)编写Module项目主程序

新建启动类ConfigServerApplication.java

@EnableConfigServer注解开启Config Server的功能


(4)应用参数配置

在resources目录下新建application.yml配置文件:配置文件读取地址设置为本地(native)


(5)新建shared文件夹-存放本地配置文件

Module项目当前结构:


在shared文件夹中新建一个客户端微服务配置文件:CaaS_Config_Client-dev.yml


3.客户端微服务编写

开发流程:

(1)新建Module工程-CaaS_Config_Client



(2)添加配置依赖

添加Config的起步依赖和Web功能的起步依赖:


添加maven插件支持:


(3)编写Module项目主程序

读取配置文件变量,并返回变量值


(4)应用参数配置

新建配置文件bootstrap.yml,其调用优先级高于application.yml


(5)访问测试

依次启动CaaS_Config_Server与CaaS_Config_Client两个工程,访问http://localhost:8762/boecaas


成功读取配置文件

4.远程Git仓库配置与应用测试

修改CaaS_Config_Server文件,设置远程Git地址(gitlab服务器):因为是public仓库,所以不需要用户名密码


启动Config服务应用:访问http://localhost:8769/CaaS_Config_Client-dev.yml


启动客户端应用:访问http://localhost:8762/boecaas


5.HA配置

将上一节中的Config Server服务进行改造,加入服务注册客户端组件,并通过配置服务启动时的端口号实现Config Server高可用。

开发流程:

(1)添加配置依赖


(2)改写Module主程序

添加注解:@EnableEurekaClient


(3)修改应用配置文件

加入注册中心的配置:


以同样的方法为Config Client提供注册服务

依次启动eureka - config server - config client 

查看注册中心已有服务:http://localhost:8761/


访问http://localhost:8762/boecaas




版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xingyuzhe/article/details/79945345

使用Spring Cloud配置服务器控制你的配置

使用Spring Cloud配置服务器控制你的配置 摘要 本文是《Spring Microservices In Action》第三章关于配置管理的中文翻译,在微服务实践中将所有微服务的配置集...
  • lixiaoweidown
  • lixiaoweidown
  • 2018-01-04 18:45:43
  • 104

搭建基于Spring Cloud的微服务注册中心

简单几步,搭建基于Spring Cloud的微服务注册中心。
  • ClementAD
  • ClementAD
  • 2016-12-15 11:08:54
  • 1537

Spring Cloud Config统一管理微服务配置

一Spring Cloud Config背景及简介 # 集中管理的需求:一个使用微服务架构的应用系统可能会包括成百上千个微服务,因此集中管理很有必要 # 不同环境不同配置:例如数据源在不同的环境(...
  • zhanglh046
  • zhanglh046
  • 2017-11-28 10:09:40
  • 1353

Spring Cloud 的 配置远程服务中心简单入门操作

1.配置 spring cloud 的远程服务中心 ,需要先在Git上生成一个仓库。在仓库中配置  .properties 文件  配置连接数据库的四要素 ...
  • jsaber
  • jsaber
  • 2018-01-02 19:46:07
  • 218

统一配置服务——spring cloud config

前言       近年来,微服务架构的模式越来越受到大众的追捧。究其缘由,传统的单体式应用服务一直面临的问题:业务代码臃肿、部署更新繁琐、语言单一,无法满足如今互联网产品业务需求快速变化时快捷、解耦的...
  • crisis_hiding
  • crisis_hiding
  • 2017-10-21 16:35:08
  • 583

Spring Cloud 配置服务消费者和断路器

简单几步,配置spring-boot微服务消费者,以及相关的断路器(服务不可用时,调用该本地断路器输出相应的值)...
  • ClementAD
  • ClementAD
  • 2017-01-06 17:24:23
  • 1340

spring cloud config client 服务配置中心 客户端

  • 2017年02月20日 10:22
  • 26KB
  • 下载

六、Spring Cloud系列:Config服务端与客户端常用配置

一、服务端#================================普通配置============================== #应用名称 spring.application.na...
  • KingBoyWorld
  • KingBoyWorld
  • 2017-09-17 14:01:14
  • 930

springcloud(八):配置中心服务化和高可用

在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息。这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,serve...
  • ityouknow
  • ityouknow
  • 2017-05-31 09:45:04
  • 3022

03.Spring Cloud学习笔记之服务注册与服务发现组件Eureka

前言从本篇博客开始将正式进入Spring Cloud的实战部分,因为博主用了很长时间的Dubbo,发现Spring Cloud和Dubbo有很多相似之处,所以可能在博客中提及进行类比,如果没有接触过D...
  • RobertoHuang
  • RobertoHuang
  • 2017-08-28 23:40:08
  • 776
收藏助手
不良信息举报
您举报文章:Spring Cloud Config--服务配置组件配置与使用
举报原因:
原因补充:

(最多只允许输入30个字)