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 修改启动文件

  1. 在启动文件中加上"@EnableConfigServer"注解,然后启动工程。

  2. 打开浏览器访问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.一点点重要的事情

SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心的更多相关文章

  1. 【Spring Cloud】Spring Cloud Config 实现分布式配置中心

    Spring Cloud Config 实现分布式配置中心 一.分布式配置中心 分布式系统中,往往拥有大量的服务应用,而每个应用程序都需要有对应的配置文件来协助完成服务环境初始化.运行.因此生产了大量 ...

  2. spring cloud深入学习(七)-----配置中心git示例

    随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...

  3. Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)

    技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...

  4. SpringCloud实战之初级入门(二)— 服务注册与服务调用

    目录 1.环境介绍 2.服务提供 2.1 创建工程 2.2 修改配置文件 2.3 修改启动文件 2.5 亲测注意事项 3.服务调用 3.1 创建工程 3.2 修改配置文件 3.3 修改启动文件 3.4 ...

  5. SpringCloud学习笔记(7):使用Spring Cloud Config配置中心

    简介 Spring Cloud Config为分布式系统中的外部化配置提供了服务器端和客户端支持,服务器端统一管理所有配置文件,客户端在启动时从服务端获取配置信息.服务器端有多种配置方式,如将配置文件 ...

  6. spring cloud config搭建说明例子(三)-添加actuator

    添加心跳 服务端 ConfigServer pom.xml添加actuator包 <dependency> <groupId>org.springframework.cloud ...

  7. Spring Cloud 系列之 Apollo 配置中心(三)

    本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Apollo 配置中心(一) Spring Cloud 系列之 Apollo 配置中心(二) 本篇文章讲解 Apol ...

  8. .NET Core微服务之基于Steeltoe使用Spring Cloud Config统一管理配置

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 =>  Steeltoe目录快速导航: 1. 基于Steeltoe使用Spring Cloud Eureka 2. 基于Steelt ...

  9. Spring Cloud Config 搭建Config 服务

    配置中心: open API 配置生效监控 一致性的K-V存储 统一配置的实时推送 配置全局恢复.备份.历史版本 高可用集群 通过config 获取配置,流程: 下面介绍,基于spring cloud ...

随机推荐

  1. 【转】ListBox Dock Fill 总是有空隙的问题

    源地址:https://www.cnblogs.com/norsd/p/6359291.html ListBox Dock设置了Fill, Right等 设计界面如己所愿,但是实际运行时,底部总是有不 ...

  2. 洛谷P4451 [国家集训队]整数的lqp拆分(生成函数)

    题面 传送门 题解 我对生成函数一无所知 我们设\(F(x)\)为斐波那契数列的生成函数,\(G(x)\)为答案的生成函数,那么容易得到递推关系 \[g_n=\sum_{i=0}^{n-1}f_ig_ ...

  3. MySQL5.7 mysql.user创建用户

    mysql -uroot -proot MySQL5.7 mysql.user表没有password字段改 authentication_string: 一. 创建用户: 命令:CREATE USER ...

  4. cap-insets

    原文链接 在很多编程语言中都有resizable image这样的概念,比如android中的NinePatch graphic ,css3中的border image,微软的Nine-Grid Re ...

  5. 【算法】禁忌搜索算法(Tabu Search,TS)超详细通俗解析附C++代码实例

    01 什么是禁忌搜索算法? 1.1 先从爬山算法说起 爬山算法从当前的节点开始,和周围的邻居节点的值进行比较. 如果当前节点是最大的,那么返回当前节点,作为最大值 (既山峰最高点):反之就用最高的邻居 ...

  6. luogu4074 [WC2013]糖果公园(树上带修莫队)

    link 题目大意:给一个树,树上每个点都有一种颜色,每个颜色都有一个收益 每次修改一个点上的颜色 或询问一条链上所有颜色第i次遇到颜色j可以获得w[i]*v[j]的价值,求链上价值和 题解:树上带修 ...

  7. js 平均分割

    let alllist=res.data; var result = []; for (var i = 0; i < alllist.length; i += 3) { result.push( ...

  8. Shiro源码解析-Session篇

    上一篇Shiro源码解析-登录篇中提到了在登录验证成功后有对session的处理,但未详细分析,本文对此部分源码详细分析下. 1. 分析切入点:DefaultSecurityManger的login方 ...

  9. sklearn的train_test_split

    train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签. 格式: X_train,X_test, y_train, y_test ...

  10. CDH集群安装配置(一)-集群规划和NAT网络配置

    三台物理机或者虚拟机. cdh1,cdh2,cdh3. 内存要求大于8GB,cdh1的物理磁盘要求多余50G. 每台虚拟机安装centos 7 系统.