linux操作系统基础原理与应用,SpringCloud系列:7

在普通的SpringBoot单体应用中,我们常使用配置文件(application(*).properties或yml)管理应用的所有配置。而在微服务体系中,可以看成是一个个分开的SpringBoot工程,随着微服务数量的增多,配置文件也响应增加,配置管理的问题便会暴露出来。在开发阶段,不同微服务器各自管各自的配置,这样做并没有什么问题,但到了生产阶段管理起来就会很困难,尤其要大规模更新某项配置,难度可想而知。

在这样的情况下,Spring Cloud提供了一个Config子项目,也是就是微服务统一配置中心,开发者可使用配置服务器集中地管理所有服务的各种环境配置文件。

Spring Cloud Config具有中心化、版本控制、支持动态更新和语言独立等特性。使用Config,大致有以下优势:

·提供配置服务器(Config Server)和配置客户端(Config Client)两种角色,便于部署和使用,使开发者可以集中式管理分布式环境下的应用配置。

·配置服务器集中对配置资源进行管理,并支持多种配置资源存储方式,如Git、SVN及文件系统。

·基于Spring环境,与Spring Boot深度整合,在应用中通过几个简单的注解就可以实现配置的统一管理,而不需要过多的投入。

·Spring Cloud Config提供与Spring Boot配置类似的机制,可以非常容易地实现对应用开发环境、测试环境、仿真环境和生产环境的配置、切换和迁移等处理。

·配置服务器可以方便地与Eureka和Consul等进行整合,快速构建一个高可用的配置服务。

Config分为服务端Server和客户端Client。Server作为配置中心的服务端,当配置客户端获取配置时,服务端及时从Git仓库中(默认方式,可调整)获取配置副本,从而保证配置数据为最新,配置文件格式支持yml、json、properties等。

二、示例演示,搭建Config Server


国际惯例,依旧继续沿用上一章的微服务代码,来集成微服务配置中心Config。

创建基于maven的Config项目config-server,在pom文件中主要引入Eureka和Config的依赖。

然后在启动类上@EnableConfigServer声明这是一个Config项目,当然,Config配置中心也是要注册到Eureka上的,方便在分布式时可以更加容易的访问。

依旧是配置文件,其实对于Config工程,核心功能就是对配置文件读取,所以重点也是对这项进行配置,spring.cloud.config.server表示对Config的服务端Server进行配置,git表明使用git存放文件,这里使用了我的github,而uri则对应的是git的仓库地址,search-path表示仓库中详细路径,由于这里我使用了公共仓库,所以这里不需要账号密码,server.label属性表示使用的分支,这是使用的就是master。

访问https://github.com/imyanger/springcloud-project.git,进入对应的文件夹p6-config/config-server/config,可以看到文件夹中仅有一个book-server.yml文件,至于文件中的内容,这里简单的配置了一下redis的连接信息。

这样配置中心Config就已经搭建完毕。分别启动eureka-server和刚刚搭建的config-server,config-sever的端口为18050,然后我们在地址栏上输入http://localhost:10850/book-server-dev.yml,发现输出的结果和我们直接查看github是一致的,这说明Config的服务端Server已经成功搭建。

Config的http请求地址和资源文件映射如下:

/{application}/{profile}[/{label}]

/{application}-{profile}.yml

/{label}/{application}-{profile}.yml

/{application}-{profile}.properties

/{label}/{application}-{profile}.properties

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

如果你选择了IT行业并坚定的走下去,这个方向肯定是没有一丝问题的,这是个高薪行业,但是高薪是凭自己的努力学习获取来的,这次我把P8大佬用过的一些学习笔记(pdf)都整理在本文中了

《Java中高级核心知识全面解析》

小米商场项目实战,别再担心面试没有实战项目:

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
1713467846212)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值