SpringCloud系列之分布式配置中心学习

文章目录
1、分布式配置中心简介
2、什么是SpringCloud Config?
3、例子实验环境准备
4、Config Server代码实现
5、Config Client代码实现
6、客户端pull刷新实现
7、消息总线Spring Cloud Bus
8、Docker安装部署RabbitMQ
9、Spring Cloud Bus动态刷新
10、官方参考手册和其它资料
1、分布式配置中心简介
在实际的项目开发中,配置文件是使用比较多的,很多项目有测试环境(TEST)、开发环境(DEV)、规范的项目还有集成环境(UAT)、生产环境(PROD),每个环境就一个配置文件。

在这里插入图片描述

这个在单体应用的项目里是没什么问题,如果是分布式微服务项目,就会有很多的模块,比如微服务A、微服务B等等,每个工程都有一套配置文件,随着业务增长,肯定会有很多配置,分散管理,不能实现统一的管理,所以就有了微服务的配置文件统一管理组件,比如spring cloud官方的spring cloud config、携程的 Apollo,还有最近比较火的阿里 nacos,每款产品各有自己的特点,不过本博客只介绍spring cloud config

作为一款分布式的配置中心,其基本的功能应该有统一的配置文件管理,至于怎么存储可以自行设计,客户端可以从配置中心下拉配置数据,还有一个重要功能就是推送,有了推送功能,才能做到将数据统一发给客户端及时更新,总不能让客户端自己pull,如果在客户端很多的情况,这种肯定是不合理的,简单画图表示:
在这里插入图片描述

2、什么是SpringCloud Config?
ok,前面简单介绍了分布式配置中心的基本概念,现在看看spring cloud提供的这块分布式配置中心spring cloud config是怎么设计?简单归纳其特点:

文件存储:默认Git仓库(github、gitlab等等)
版本关联:默认Git
权限控制:需要Git支持
多环境(profile):配置文件指定
动态更新:需要基于Springcloud config bus
定时更新:需要自行拓展
管理后台:默认不带
所以有一个明显的特点,springcloud config默认就是基于git仓库来实现配置文件统一管理的,所以很明显其有如下角色:

配置仓库:git仓库
配置服务端:config server,负责从git仓库下拉配置文件到本地,然后可以统一推送给客户端
配置客户端:各微服务业务客户端,可以从配置服务端pull配置数据
ok,简单画图表示其架构,如图所示:
在这里插入图片描述

3、例子实验环境准备
环境准备:

JDK 1.8
SpringBoot2.2.3
SpringCloud(Hoxton.SR7)
Maven 3.2+
开发工具
IntelliJ IDEA
smartGit
github远程仓库创建,可以在github上创建一个springCloudExamples项目,然后新建一个文件夹,命名为config-repository

4、Config Server代码实现
创建一个SpringBoot Initialize项目,详情可以参考我之前博客:SpringBoot系列之快速创建项目教程

如图:选择config Server
在这里插入图片描述
也可以自行在maven引入如下配置:

org.springframework.cloud spring-cloud-config-server 1 2 3 4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值