【二十二】搭建SpringCloud项目六(Config)配置中心

简介: 【二十二】搭建SpringCloud项目六(Config)配置中心


从前面几章开始从0搭建SpringCloud项目,再逐步进行优化,加入其它组件。

上一章加入了熔断器组件,这次讲解一下我对Config配置中心的认识,微服务项目相对于单体项目来说,每个功能都可以分成一个小的服务,每个服务都有自己独立的配置,若部署整个微服务项目的所有服务配置都需要修改,单独打开每一个项目找到配置文件去修改比较麻烦,所以使用配置中心组件可以简化这一操作,让git仓库保存配置文件,更改仓库的文件,对应就修改了对于的小服务的配置,下面开始整合使用。

PS:这一章踩坑特别多,注意细节。

先展示一下我现在的目录结构:

其中,我用demo-product服务拿来做测试:

第一步:新增config配置中心服务

1、右键整个项目,新增一个module,

2、选择java8版本,添加idea自带的这个依赖。

3、这是我的依赖,

4、修改启动类,开启配置中心并注册到注册中心。

5、修改yml文件,注册地址确保正确,git的相关配置确保正确,

6、登入git,新建仓库,新建文件夹,新建文件(没用过git的兄弟百度一下)

将复制下来的链接填在上面配置的uri里面。

search-paths就是新建的文件夹名称,只具体到文件夹即可。若你不是公开仓库,需要配置账号密码,若是公开仓库则不需要。如下设置公开仓库:

点击管理,在基本信息点击开源即可。

展示一下我文件下下面的测试用配置文件(注意:文件格式不是yml,是properties,踩过坑):

第二步:新增客户端服务(重点,坑多)

我前面的例子里面写的有几个服务,我就直接拿product服务来用,或者创建一个普通的springboot项目也行。

将修改这三个文件.

重点:新增一个bootstrap.properties文件,注意名称格式要一模一样,否则用不了,因为启动服务会优先采用这个文件的配置,而不是application.yml的配置,你自己的yml配置里面可能没有业务所需要的配置,只有配置中心的配置有,所以必须写这个连接配置中心。

这是bootstrap.properties文件的配置(连接配置中心),name的值是

profile的值是后缀

uri的值是配置中心的地址

label的值是你git文件存放的节点,一般都是master。

application.yml的配置就正常配置:

注册到注册中心。(特别注意的就是连接配置中心的配置必须写到bootstrap.properties)。

第三步:测试(修改product服务的controller类)

此处,从配置里获取message的值,但是自己的yml配置里面并没有,只有git仓库的配置里面才有,所以调用config接口会获取仓库配置的message值。

第四步:演示

1、开启eureka,gateway,config,product服务,注意开启顺序

2、结果:

3、调用config接口:

返回结果:“222222”,就是仓库配置文件里面的配置。说明获取成功。

后续就可以通过修改仓库的配置文件来修改对应服务的配置了。

若有帮助,帮忙点个赞,兄弟们。

目录
相关文章
|
2月前
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
19天前
|
JSON SpringCloudAlibaba Java
Springcloud Alibaba + jdk17+nacos 项目实践
本文基于 `Springcloud Alibaba + JDK17 + Nacos2.x` 介绍了一个微服务项目的搭建过程,包括项目依赖、配置文件、开发实践中的新特性(如文本块、NPE增强、模式匹配)以及常见的问题和解决方案。通过本文,读者可以了解如何高效地搭建和开发微服务项目,并解决一些常见的开发难题。项目代码已上传至 Gitee,欢迎交流学习。
Springcloud Alibaba + jdk17+nacos 项目实践
|
2月前
vite.config.js中vite.defineConfig is not defined以及创建最新版本的vite项目
本文讨论了在配置Vite项目时遇到的`vite.defineConfig is not defined`错误,这通常是由于缺少必要的导入语句导致的。文章还涉及了如何创建最新版本的Vite项目以及如何处理`configEnv is not defined`的问题。
85 3
vite.config.js中vite.defineConfig is not defined以及创建最新版本的vite项目
|
2月前
|
负载均衡 Java Nacos
SpringCloud基础2——Nacos配置、Feign、Gateway
nacos配置管理、Feign远程调用、Gateway服务网关
SpringCloud基础2——Nacos配置、Feign、Gateway
|
14天前
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
85 0
|
2月前
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
57 0
Vue3基础(19)___vite.config.js中配置路径别名
|
21天前
|
前端开发 JavaScript
vite vue3 config配置
【10月更文挑战第5天】
40 0
|
25天前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
31 0
|
2月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
3月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
105 1

热门文章

最新文章