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

相关内容

热门资讯

Python|位运算|数组|动... 目录 1、只出现一次的数字(位运算,数组) 示例 选项代...
张岱的人物生平 张岱的人物生平张岱(414年-484年),字景山,吴郡吴县(今江苏苏州)人。南朝齐大臣。祖父张敞,东...
西游西后传演员女人物 西游西后传演员女人物西游西后传演员女人物 孙悟空 六小龄童 唐僧 徐少华 ...
名人故事中贾岛作诗内容简介 名人故事中贾岛作诗内容简介有一次,贾岛骑驴闯了官道.他正琢磨着一句诗,名叫《题李凝幽居》全诗如下:闲...
和男朋友一起优秀的文案? 和男朋友一起优秀的文案?1.希望是惟一所有的人都共同享有的好处;一无所有的人,仍拥有希望。2.生活,...
戴玉手镯的好处 戴玉手镯好还是... 戴玉手镯的好处 戴玉手镯好还是碧玺好 女人戴玉?戴玉好还是碧玺好点佩戴手镯,以和田玉手镯为佳!相嫌滑...
依然什么意思? 依然什么意思?依然(汉语词语)依然,汉语词汇。拼音:yī    rán基本解释:副词,指照往常、依旧...
高尔基的散文诗 高尔基的散文诗《海燕》、《大学》、《母亲》、《童年》这些都是比较出名的一些代表作。
心在飞扬作者简介 心在飞扬作者简介心在飞扬作者简介如下。根据相关公开资料查询,心在飞扬是一位优秀的小说作者,他的小说作...
卡什坦卡的故事赏析? 卡什坦卡的故事赏析?讲了一只小狗的故事, 我也是近来才读到这篇小说. 作家对动物的拟人描写真是惟妙...
林绍涛为简艾拿绿豆糕是哪一集 林绍涛为简艾拿绿豆糕是哪一集第三十二集。 贾宽认为是阎帅间接导致刘映霞住了院,第二天上班,他按捺不...
小爱同学是女生吗小安同学什么意... 小爱同学是女生吗小安同学什么意思 小爱同学,小安同学说你是女生。小安是男的。
内分泌失调导致脸上长斑,怎么调... 内分泌失调导致脸上长斑,怎么调理内分泌失调导致脸上长斑,怎么调理先调理内分泌,去看中医吧,另外用好的...
《魔幻仙境》刺客,骑士人物属性... 《魔幻仙境》刺客,骑士人物属性加点魔幻仙境骑士2功1体质
很喜欢她,该怎么办? 很喜欢她,该怎么办?太冷静了!! 太理智了!爱情是需要冲劲的~不要考虑着考虑那~否则缘...
言情小说作家 言情小说作家我比较喜欢匪我思存的,很虐,很悲,还有梅子黄时雨,笙离,叶萱,还有安宁的《温暖的玄》 小...
两个以名人的名字命名的风景名胜... 两个以名人的名字命名的风景名胜?快太白楼,李白。尚志公园,赵尚志。
幼儿教育的代表人物及其著作 幼儿教育的代表人物及其著作卡尔威特的《卡尔威特的教育》,小卡尔威特,他儿子成了天才后写的《小卡尔威特...
海贼王中为什么说路飞打凯多靠霸... 海贼王中为什么说路飞打凯多靠霸气升级?凯多是靠霸气升级吗?因为之前刚到时确实打不过人家因为路飞的实力...
运气不好拜财神有用吗运气不好拜... 运气不好拜财神有用吗运气不好拜财神有没有用1、运气不好拜财神有用。2、拜财神上香前先点蜡烛,照亮人神...