SpringCloud10 - 分布式配置中心--config
扯淡:
在微服务架构中,微服务数量非常多,其每个服务都有自己独立的配置文件,分布式配置中心就是用来管理这些配置文件的,其配置文件可以统一放到本地、git、svn等。spring cloud config 为实现分布式配置中心的一种组件,分为config client和config server。
个人学习总结:
链接:【springboot、springcloud、docker 等,学习目录】
官网:https://spring.io/projects/spring-cloud-config
存储方式:
支持git、svn、jdbc、本地等。git较为常用,本文选取git作为存储中心。
GitHub:比较流行,但是国内访问慢。
搭建git仓库:使用docker可以很方便就搭建起来,但是需要服务器。
码云:在国内也很流行,只需要注册自己的账号就可以使用了。
码云仓库的使用:
springcloud:自己建立的仓库。
springcloud_cloud:配置中心存放配置文件。
springcloud_parant:工程代码,并不是本章需要,仅仅是我个人管理代码。
config server 服务端:
服务端为独立的工程。
1、新建 springcloud_config 模块:
2、pom依赖:
<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency></dependencies>
3、启动类:
/*** @Auther: xf* @Date: 2018/12/27 22:04* @Description: config 配置中心服务端*/
// 开启服务端
@EnableConfigServer
@SpringBootApplication
public class ConfigApplication {public static void main(String[] args) {SpringApplication.run(ConfigApplication.class);}
}
4、application.yml:
server:port: 8000
spring:application:name: springcloud-configcloud:config:server:git:uri: https://gitee.com/cpla026/springcloud.git#search-paths: springcloud_configsearch-paths: '*'
uri:git仓库地址。
search-paths:我在仓库中加了springcloud_config文件夹,如果仓库中直接存放配置文件则不需要此配置,"*" 代表所有。
5、上传各微服务配置文件:
这里是官网访问的规则:
则命名配置配置文件的规则:{application}-{profile}.yml或{application}-{profile}.properties
5.1、将各微服务配置文件改名后上传:
这里只测试用户微服务,命名为user-dev.yml:
5.2、启动配置中心,访问配置文件:
可以访问到配置文件信息。
config client 客户端:
每一个需要从git拉取配置文件的微服务都是一个客户端。以用户微服务为例。
这里的application.yml 可删除,我做了个备份。
1、引入依赖:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency>
2、启动用户微服务会发生错误。
2.1、控制台日志第一行:
2.2、官网解释:
配置中心的客户端启动的时候会默认到本地8888端口的服务器中获取自己的配置。你可以使用bootstrap.properties配置文件来改变这一默认启动行为。bootstrap会比application优先加载。
3、新建bootstrap.yml:
spring:cloud:config:# config server 地址uri: http://127.0.0.1:8000# name、profile 配置文件的命名name: userprofile: devlabel: master # 存储为git时 默认为 master
4、测试:
4.1、启动配置中心、用户微服务:
报错:Eureka没有启动,不用管,本节只测试用户微服务。
4.2、请求用户微服务接口:
用户列表:http://127.0.0.1:8081/user/list
用户详情:http://127.0.0.1:8081/user/1
至此,配置中心配置完毕,用户服务成功从配置中心拉取到自己的配置文件。
总结:
1、spring cloud config 配置中心服务端为独立工程,需要web依赖。
2、在服务端指定远程仓库地址、客户端指定服务端地址。
3、客户端启动时默认寻找端口为8888的本地服务端加载配置。可使用bootstrap.properties 配置文件改变这种行为。
4、上传到远程仓库的配置文件应以{application}-{profile}.yml(properties)的格式命名。
代码地址:
1、config server:
https://gitee.com/cpla026/springcloud/tree/master/springcloud_parent/springcloud_config
2、config client
https://gitee.com/cpla026/springcloud/tree/master/springcloud_parent/springcloud_user_config
3、git 中配置文件仓库
https://gitee.com/cpla026/springcloud/tree/master/springcloud_config
个人学习分享
更多 springboot、springcloud、docker 文章,关注公众号吧:
SpringCloud10 - 分布式配置中心--config相关推荐
- springcloud 分布式配置中心 config server config client
---------------------------------------------------------------------------------------------------- ...
- 分布式配置中心-Config
文章目录 一.常规的配置设置方式 1.传统配置管理的缺点 二.分布式配置中心--Config 1.Config的配置文件命名规则 2.config小demo (1)前期准备 1)创建一个git项目 2 ...
- SpringCloud教程-分布式配置中心Config (SpringCloud版本Greenwich.SR4)
文章目录 Config(分布式配置中心)简介 创建服务端ConfigServer 创建客户端config-client 代码地址: github-spring-cloud地址 Config(分布式配置 ...
- SpringCloud 分布式配置中心Config Hoxton版本
Spring Cloud Config简介:Spring Cloud Config为分布式系统提供了服务端和客户端用于支持外部配置.使用Config Server可以在所有环境中管理应用程序的外部属性 ...
- pom文件配置多个远程仓库地址_分布式配置中心Config
一 配置中心认识 1 服务配置的现状 2 常用的配置管理解决方案缺点 a.硬编码[缺点:需要修改代码,繁琐.风险大] b.写在properties里面[缺点:在集群环境下,需要替换和重启] c.写在x ...
- 微服务架构spring cloud - 分布式配置中心config(七)
1.什么是spring-cloud-config 用来为分布式系统中的基础设施和微服务应用提供集体化的外部配置支持,它分为服务端和客户端.服务端也就是config服务,客户端就是其他的微服务. spr ...
- iframe的src动态修改并刷新_微服务中配置中心Config+消息总线Bus,实现分布式自动刷新配置
技术/杨33 一.分布式配置中心Config 一套集中的.动态的配置管理,实现统一配置微服务中的每个子服务. Spring Cloud Config为微服务架构提供了集中化的外部配置支持,配置服务器为 ...
- SpringCloud微服务架构,Config 分布式配置中心,Bus 消息总线, Stream 消息驱动,Sleuth+Zipkin 链路追踪
Config分布式配置中心 Config 概述 概述 • Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护. • 好处: • 集中管理配置文件 • 不同环境不同配 ...
- Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务
上一篇文章,讲了SpringCloudConfig 集成Git仓库,这一篇我们讲一下SpringCloudConfig 配和 Eureka 注册中心一起使用 在分布式系统中,由于服务数量巨多,为了方便 ...
最新文章
- OpenCV卡尔曼滤波介绍与代码演示
- 0.0 环境搭建 - PyTorch学习笔记
- R语言-RStudio打开中文注释的脚本后出现乱码
- 英特尔530和535哪个好_详细介绍2020版联想小新Air 14酷睿版和锐龙版怎么选,哪款好...
- 查询表空间状态,创建表空间,让表空间的大小自动扩展,删除表空间
- 你感兴趣的大学专业真相 | 16万人参与调查,看完80%都哭了
- sublime text html乱码,Sublime Text 2中文显示乱码的解决方法
- mysql 查询一个月的时间_mysql日期查询sql语句总结(查询一天,查询一周,查询一个月的数据)...
- 去掉chrome、safari input或textarea在得到焦点时出现黄色边框的方法
- 类和接口的使用-类和成员可访问性最小化
- 就谈个py 的装饰器 decorator
- 两种改变 Windows Vista UI语言的途径
- m3u8文件下载及合并
- 【血型】+【星座】准到吓人
- Excel科学计数法转换成文本完整显示
- openCV获取和修改像素值
- 消息轰炸(python)
- Allegro PCB多层板中负片热风焊盘的制作以及flash的添加
- hdu1024 最大m段和 划分dp
- mysql mtq_GoLang 连接 Mysql 数据库