Config 分布式配置中心
目录
一、config介绍
二、当前项目环境
三、配置config仓库
1、创建空文件夹
2、导入application.yml配置文件
3、修改yml配置文件
4、将config仓库上传到gitHub仓库
四、配置config服务器
1、创建项目
2、配置pom
3、配置yml
4、主程序
5、启动项目,测试访问
五、配置config客户端
1、编辑pom
2、创建bootstrap.yml
3、启动服务,观察信息
一、config介绍
1、用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为服务端和客户端两个部分。
2、服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密\解密信息等访问接口。
3、客户端是微服务架构中的各个微服务应用或基础设施,他们通过指定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。
二、当前项目环境
zuul作为网关可以远程调用item-service、user-service、order-service。现在需要添加config,配置这四个的配置文件yml。
三、配置config仓库
1、创建空文件夹
在此项目目录下创建空的文件夹,命名为config作为仓库的名称
2、导入application.yml配置文件
将item-service、user-service、order-service和zuul的yml文件复制到config仓库中,并且修改名称为item-service-dev.yml、user-service-dev.yml、order-service-dev.yml、zuul-dev.yml
注意:需要将四个模块中的application.yml文件清空
3、修改yml配置文件
这里默认的配置中心配置优先级高,会覆盖客户端的所有配置,包括命令行的参数。
会使服务搭建的集群的命令行参数失效,比如:--service.port=8001和--service.port=8002.
需要通过配置spring.cloud.config.override-none:true来保证不会被修改。
注意:这里需要将四个配置文件都修改,下图是item-service-dev修改后的效果
#向注册中心注册的"服务ID"
spring:application:name: item-service#默认配置中心配置优先级高,配置中心配置会覆盖客户端的所有配置,包括命令行参数配置cloud:config:override-none: true#商品:8001
#用户:8101
#订单:8201
server:port: 8001#defaultZone - 默认地点
#如果使用云服务器,可以由服务商提供不同的地点的服务器
eureka:client:service-url:defaultZone: http://eureka1:2001/eureka,http://eureka2:2002/eureka
4、将config仓库上传到gitHub仓库
//TODO 如何配置与上传代码到gitHub的文章
四、配置config服务器
1、创建项目
2、配置pom
加入eureka和config依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
3、配置yml
服务名称为config-server,端口使用6001,配置自己的gitHub仓库以及用户名密码
spring:application:name: config-servercloud:config:server:git:uri: https://github.com/自己的仓库路径searchPaths: configusername: 自己的账户password: 自己的密码server:port: 6001eureka:client:service-url:defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
其中,gitHub相关的属性说明如下:
spring.cloud.config.server.git.uri=配置git仓库位置
spring.cloud.config.server.git.searchPaths=配置仓库路径下的相对搜索位置,可以配置多个
spring.cloud.config.server.git.username=访问git仓库的用户名
spring.cloud.config.server.git.password=访问git仓库的密码
我自己的仓库配置图为:
4、主程序
添加@EnableConfigServer和@EnableDiscoveryClient注解
package cn.tedu.sp12;import ...;@EnableConfigServer
@EnableDiscoveryClient
@SpringBootApplication
public class Sp12ConfigApplication {public static void main(String[] args) {SpringApplication.run(Sp12ConfigApplication.class, args);}}
5、启动项目,测试访问
可以通过以下两种格式访问
http://localhost:6001/item-service/dev
http://localhost:6001/item-service-dev.yml
五、配置config客户端
需要修改item-service、user-service、order-service和zuul这四个模块
1、编辑pom
四个模块分别添加config client依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2、创建bootstrap.yml
bootstrap.yml,引导配置文件,先于application.yml加载
item-service
spring: cloud:config:discovery:enabled: trueservice-id: config-servername: item-serviceprofile: deveureka:client:service-url:defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
user-service
spring: cloud:config:discovery:enabled: trueservice-id: config-servername: user-serviceprofile: deveureka:client:service-url:defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
order-service
spring: cloud:config:discovery:enabled: trueservice-id: config-servername: order-serviceprofile: deveureka:client:service-url:defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
zuul
spring: cloud:config:discovery:enabled: trueservice-id: config-servername: zuulprofile: deveureka:client:service-url:defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
3、启动服务,观察信息
启动item-service、user-service、order-service、zuul,观察启动时,获取到的yml配置信息
Config 分布式配置中心相关推荐
- SpringCloud微服务架构,Config 分布式配置中心,Bus 消息总线, Stream 消息驱动,Sleuth+Zipkin 链路追踪
Config分布式配置中心 Config 概述 概述 • Spring Cloud Config 解决了在分布式场景下多环境配置文件的管理和维护. • 好处: • 集中管理配置文件 • 不同环境不同配 ...
- Spring Cloud入门-Config分布式配置中心(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Spring Cloud Config 简介 在Git仓库中准备配置信息 配置仓库目录结构 master分支下的配置信息 dev分支下的配置信息 ...
- SrpingCloud 之SrpingCloud config分布式配置中心实时刷新
默认情况下是不能及时获取变更的配置文件信息 Spring Cloud分布式配置中心可以采用手动或者自动刷新 1.手动需要人工调用接口 监控中心 2.消息总线实时通知 springbus 动态刷新 ...
- springcloud config 分布式配置中心
一.介绍 1.场景: 微服务系统中,系统多.实例多,如果每个系统都有自己一套配置加载.维护的机制,会导致在生产过程中因为配置问题引发的不必要的沟通成本.故障风险.需要采用分布式配置中心统一管理.统一实 ...
- SrpingCloud 之SrpingCloud config分布式配置中心
Config架构 当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可 ...
- Spring cloud config 分布式配置中心(一) 服务端
作用: 为分布式系统中的基础设施和微服务应用提供外部集中化的配置支持,分客户端和服务端 服务端: 即分布式配置中心,是一个独立的微服务应用,连接配置仓库,为客户端提供一些访问接口,如加密 / 解密信息 ...
- SpringCloud学习(十八):Config分布式配置中心的介绍与搭建
目录 一.概述 1.分布式系统面临的配置问题 2. Config配置中心是什么 3.Spring Config能做什么 二.Config总控中心配置与测试 1.在Gitee上新建仓库 2.本地硬盘目录 ...
- SpringCloud Config分布式配置中心
目录 一.概述 二.Config服务端配置与测试 配置读取规则 三.Config客户端配置与测试 bootstrasp.yml 四.Config客户端之动态刷新 一.概述 官网:Spring Clou ...
- SpringCloud版本Hoxton SR5 --- 第七讲:SpringCloud Config 分布式配置中心+整合bus、rabbitmq、actuator
传送门:SpringCloud版本Hoxton SR5 --- 第一讲:认识 先看SpringCloud Config 可以完成的功能,或者说他在项目中的定位和作用. SpringCloud conf ...
最新文章
- 将前台日期格式转成与数据库日期格式相对应,后台java转数据库日期格式
- C#如何把List of Object转换成List of T具体类型
- 高频运行脚本案例 $$
- Ajax中有关readyState(状态值)和status(状态码)的问题
- C语言基础:用快速排序实现输出最大数
- 使用jstack和TDA进行java线程dump分析
- matlab中单相整流器,应用Matlab仿真单相PWM整流器的一种简单方法
- Git, Gitlab使用文档
- miner更换owner钱包地址
- eMMC的使用寿命分析
- Vue+Element实现tab页多页面切换
- 部署高校房屋管理系统可以实现哪些目标?
- 电脑开机遇到二维码怎么办?
- CS224d: Deep Learning for NLP Lecture1 听课记录
- JAVA实现短信接口的调用
- 给你一个全新的软件,你就是负责人,你怎么去开展工作
- 爱壁纸hd电脑版|爱壁纸hd电脑版下载
- 软考中级 真题 2014年上半年 系统集成项目管理工程师 应用技术 下午试卷
- 建立一个带头结点的线性链表,用以存放输入的二进制数,链表的每一个节点的data域存放一个二进制位。并在此链表上实现对二进制数加1的运算;
- IOS设置系统代理+APP不走代理绕过方式