SpringCloud之 Config配置中心
创始人
2024-05-30 12:23:27

文章目录

  • Config 配置中心
    • 一、部署配置中心
      • 🍭1.1 创建 config 服务端
      • 🍭1.2 配置文件地址
      • 🍭1.3 启动配置服务器
    • 二、客户端的配置


提示:以下是本篇文章正文内容,Redis系列学习将会持续更新

在这里插入图片描述

Config 配置中心

官方文档: https://docs.spring.io/spring-cloud-config/docs/current/reference/html/

经过前面的学习,我们对于一个分布式应用的技术选型和搭建已经了解得比较多了,但是各位有没有发现一个问题,如果我们的微服务项目需要部署很多个实例,那么配置文件我们岂不是得一个一个去改,可能十几个实例还好,要是有几十个上百个呢?那我们一个一个去配置,岂不直接猝死在工位上。

所以,我们需要一种更加高级的集中化地配置文件管理工具,集中地对配置文件进行配置。

Spring Cloud Config 为分布式系统中的外部配置提供服务器端客户端支持。使用 Config Server,您可以集中管理所有环境中应用程序的外部配置。

在这里插入图片描述
实际上 Spring Cloud Config 就是一个配置中心,所有的服务都可以从配置中心取出配置,而配置中心又可以从 GitHub 远程仓库中获取云端的配置文件,这样我们只需要修改 GitHub 中的配置即可对所有的服务进行配置管理了。

回到目录…

一、部署配置中心

🍭1.1 创建 config 服务端

①这里我们接着创建一个新的项目 config-server,并导入依赖:

org.springframework.cloudspring-cloud-config-serverorg.springframework.cloudspring-cloud-starter-netflix-eureka-client

②写启动类,用 @EnableConfigServer 注解修饰

@SpringBootApplication
@EnableConfigServer
public class ConfigApplication {public static void main(String[] args) {SpringApplication.run(ConfigApplication.class, args);}
}

③接着就是配置文件:

server:port: 8700
spring:application:name: configserverprofiles:active: native  # 配置使用本地储存。否则如果你不指定远程仓库,启动会报错,eureka:client:service-url:defaultZone: http://localhost:8801/eureka, http://localhost:8802/eureka

先启动一次看看,能不能成功:
在这里插入图片描述

回到目录…

🍭1.2 配置文件地址

①本地文件夹:

spring:application:name: configserverprofiles:active: native # 配置使用本地储存cloud:config:server:native:search-locations: classpath:/config/  # 本地配置文件路径

②Git仓库: 参考文章

spring:cloud:config:server:git:# 这里填写的是本地仓库地址,远程仓库直接填写远程仓库地址 http://git...uri: file://${user.home}/Desktop/config-repo# 默认分支设定为你自己本地或是远程分支的名称default-label: main

这里我们以本地仓库为例(就不用 GitHub了,卡到怀疑人生了),首先在项目目录下创建一个本地 Git 仓库,打开终端,在桌面上创建一个新的本地仓库:
在这里插入图片描述
然后我们在文件夹中随便创建一些配置文件,注意名称最好是{服务名称}-{环境}.yml
在这里插入图片描述
然后我们在配置文件中,添加本地仓库的一些信息,详细使用教程:https://docs.spring.io/spring-cloud-config/docs/current/reference/html/#_git_backend

回到目录…

🍭1.3 启动配置服务器

  • http://localhost:8700/{服务名称}/{环境}/{Git分支}
  • http://localhost:8700/{Git分支}/{服务名称}-{环境}.yml

比如我们要访问图书服务的生产环境代码,可以使用 http://localhost:8700/bookservice/prod/main 链接,它会显示详细信息:
请添加图片描述
也可以使用 http://localhost:8700/main/bookservice-prod.yml 链接,它仅显示配置文件原文:
请添加图片描述

当然,除了使用 Git 来保存之外,还支持一些其他的方式,详细情况请查阅官网。

回到目录…

二、客户端的配置

服务端配置完成之后,我们接着来配置一下客户端,那么现在我们的服务既然需要从服务器读取配置文件,那么就需要进行一些配置,我们删除原来的application.yml文件(也可以保留,最后无论是远端配置还是本地配置都会被加载),改用bootstrap.yml(在application.yml之前加载,可以实现配置文件远程获取):

org.springframework.cloudspring-cloud-starter-config

org.springframework.cloudspring-cloud-starter-bootstrap

spring:cloud:config:# 名称,其实就是文件名称name: bookservice# 配置服务器的地址uri: http://localhost:8700# 环境profile: prod# 分支label: main

配置完成之后,启动图书服务:
在这里插入图片描述
可以看到已经从远端获取到了配置,并进行启动。

回到目录…


总结:
提示:这里对文章进行总结:
本文是对SpringCloud的学习,学习了部署配置中心的方法、服务端的配置、存放配置文件的仓库选择,以及客户端如何配置。之后的学习内容将持续更新!!!

相关内容

热门资讯

万家中证机器人ETF净值上涨1... 万家中证机器人交易型开放式指数证券投资基金(简称:万家中证机器人ETF,代码560630)公布12月...
富国中证新华社民族品牌工程ET... 富国中证新华社民族品牌工程交易型开放式指数证券投资基金(简称:富国中证新华社民族品牌工程ETF,代码...
油气基金净值上涨1.37% 华泰柏瑞中证油气产业交易型开放式指数证券投资基金(简称:油气基金,代码561570)公布12月22日...
机器人YH净值上涨1.44% 银华中证机器人交易型开放式指数证券投资基金(简称:机器人YH,代码562360)公布12月22日最新...
易方达中证消费电子主题ETF净... 易方达中证消费电子主题交易型开放式指数证券投资基金(简称:易方达中证消费电子主题ETF,代码5629...