SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心
1.环境介绍
上一篇文章中,我们介绍了如何利用eureka注册中心发布服务以及调用服务,有兴趣的小伙伴可以去看看我的前两篇文件。
本篇文章我们介绍如何利用spring config sever配合github搭建配置中心,请准备github的账号一个,或者自建git环境也行。
2.配置中心
2.1 创建工程
和前面一样,创建一个名为“mirco-service-config”的工程,在pom文件中加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
2.2 修改配置文件
server:
port: 7001
spring:
application:
name: service-config-server
cloud:
config:
server:
git:
uri: https://github.com/yb2020/spring-cloud-study-example.git
username: your github username
password: your github password
search-paths: mirco-service-config
参数介绍
uri: github对应的repository
username: github的账号
password: github的密码
search-paths: 对应repository的配置文件目录
2.3 在github中加入配置文件
在github中加入目录mirco-service-config,我们将上一个工程“mirco-service-consumer”的配置文件内容加入一个名为“consumer-test.yml”,并提交。文章中只讲这一个改造,视频中会改造多个工程。
2.3 修改启动文件
在启动文件中加上"@EnableConfigServer"注解,然后启动工程。
打开浏览器访问http://localhost:7001/consumer/test,可以看到如下图内容,说明配置中心已经成功配置完成。
{
"name": "consumer",
"profiles": ["test"],
"label": null,
"version": "cd27a62ff16b45d1f9aed89fa338cd9671069c19",
"state": null,
"propertySources": [{
"name": "https://github.com/yb2020/spring-cloud-study-example.git/mirco-service-config/consumer-test.yml",
"source": {
"server.port": 8002,
"spring.application.name": "service-consumer",
"eureka.client.service-url.defaultZone": "http://localhost:9001/eureka/"
}
}]
}
3. 访问配置中心
接下来,其他微服务改造一下,将配置改为从配置中心获取,我们以"mirco-service-consumer"工程为例。
因为我们已经将配置内容放到名称"consumer-test.yml"文件中,将工程中的application.yml文件删除或者改后缀为“yml1”,因为applicaiton.yml是springboot启动时会默认读取的配置,为了看到效果,我们删除。
在pom文件中加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
- 添加“bootstrap.yml”文件,内容如下:
spring:
cloud:
config:
name: consumer #对应你的配置文件名称
uri: http://localhost:7001
profile: test #对应配置文件的test、dev、pro
label: master #对应git的branch
- 因为我们已经将application.yml删除了,所以我们添加以下测试代码,测试我们是否连接上了配置中心。
@RestController
public class MyFristConfigController {
@Value("${server.port}")
private String port ;
@RequestMapping(value="/getPort", method=RequestMethod.GET)
public String getPort() {
return port ;
}
}
- 依次启动"mirco-service-config","mirco-service-consumer",访问"http://localhost:8002/getPort",可以看到我们从github的配置文件中取出的端口号。
4.一点点重要的事情
- 教程中源代码地址github-SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心
- 教程对应的视频地址爱奇艺-SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心
SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心的更多相关文章
- 【Spring Cloud】Spring Cloud Config 实现分布式配置中心
Spring Cloud Config 实现分布式配置中心 一.分布式配置中心 分布式系统中,往往拥有大量的服务应用,而每个应用程序都需要有对应的配置文件来协助完成服务环境初始化.运行.因此生产了大量 ...
- spring cloud深入学习(七)-----配置中心git示例
随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...
- Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)
技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...
- SpringCloud实战之初级入门(二)— 服务注册与服务调用
目录 1.环境介绍 2.服务提供 2.1 创建工程 2.2 修改配置文件 2.3 修改启动文件 2.5 亲测注意事项 3.服务调用 3.1 创建工程 3.2 修改配置文件 3.3 修改启动文件 3.4 ...
- SpringCloud学习笔记(7):使用Spring Cloud Config配置中心
简介 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,服务器端统一管理所有配置文件,客户端在启动时从服务端获取配置信息.服务器端有多种配置方式,如将配置文件 ...
- spring cloud config搭建说明例子(三)-添加actuator
添加心跳 服务端 ConfigServer pom.xml添加actuator包 <dependency> <groupId>org.springframework.cloud ...
- Spring Cloud 系列之 Apollo 配置中心(三)
本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Apollo 配置中心(一) Spring Cloud 系列之 Apollo 配置中心(二) 本篇文章讲解 Apol ...
- .NET Core微服务之基于Steeltoe使用Spring Cloud Config统一管理配置
Tip: 此篇已加入.NET Core微服务基础系列文章索引 => Steeltoe目录快速导航: 1. 基于Steeltoe使用Spring Cloud Eureka 2. 基于Steelt ...
- Spring Cloud Config 搭建Config 服务
配置中心: open API 配置生效监控 一致性的K-V存储 统一配置的实时推送 配置全局恢复.备份.历史版本 高可用集群 通过config 获取配置,流程: 下面介绍,基于spring cloud ...
随机推荐
- c++实验4 栈及栈的应用+回文+中、后缀表达式
栈及栈的应用+回文+中.后缀表达式 1.栈顺序存储结构的基本操作算法实现 (1)栈顺序存储结构的类定义: class SeqStack { private: int maxsize; DataType ...
- OCP认证052考试,新加的考试题还有答案整理-23题
23.Which two are true about data dictionary and dynamic performance views (v$ views)? A) All databas ...
- 在Java中如何优雅地判空
判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException. 不过NullPointerException对于很多猿们来 ...
- [ActionScript 3.0] 翻牌效果,运用语法rotationY,PerspectiveProjection
package { import com.tweener.transitions.Tweener; import flash.display.Bitmap; import flash.display. ...
- 百度地图API —— 制作多途经点的线路导航
[百度地图API]如何制作多途经点的线路导航——驾车篇 摘要: 休假结束,酸奶小妹要从重庆驾车去北京.可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢? ------ ...
- linux新服务器分区挂载
新买一台服务器,需要自己手动对硬盘进行分区挂载:(这是centos下,其他版本应该也类似) 1.查看没有分区的硬盘:fdisk -l 由图上信息可知,该服务器由三块硬盘 vda.vdb.vdc,其 ...
- 你不可不知的数据库northwind
说起northwind,40左右的大年一定不会陌生,它是著名的northwind示例库,在SQL Server 是标配. 它有8张表,涉及客户.商品.订单. 如果你是有志从事企业级应用开发,或有志从事 ...
- 前端之JS的线程(最易懂)
1. 前言 很多文章在介绍线程以及线程之间的关系,都存在着脱节的现象.还有的文章过于广大,涉及到了内核,本文希望以通俗易懂的话去描述晦涩的词语,可能会和实际有一丢丢的出入,但是更易理解. 我们都知道J ...
- CGLIB动态代理模式
概念: 第三方技术CGLIB动态代理和JDK代理不同的是,JDK代理需要提供接口,而CGLIB代理不需要: 它只需要一个非抽象类就能实现动态代理 例子: /** * 非抽象类 * @author Ad ...
- session和cookie的知识总结
1.HTTP协议 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接.HTTP服务器则在那个端口监听客户端发送过来的请求.一旦收到请求,服务器(向客户端)发回一个状态 ...