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

文章目录

  • 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的学习,学习了部署配置中心的方法、服务端的配置、存放配置文件的仓库选择,以及客户端如何配置。之后的学习内容将持续更新!!!

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...