文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringCloud Config的使用和配置方法

2023-06-20 17:20

关注

这篇文章主要介绍“SpringCloud Config的使用和配置方法”,在日常操作中,相信很多人在SpringCloud Config的使用和配置方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringCloud Config的使用和配置方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Config 介绍

Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。

构建配置中心

配置中心服务端配置

新建一个配置中心模块,且注册到eureka中,在其他服务的基础上增加如下配置
pom文件增加配置服务端设置

  <!--config配置中⼼服务端-->        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-config-server</artifactId>        </dependency>

配置需要增加如下配置

spring:  application:    name: zhao-service-config  cloud:    config:      server:        git:          username: xxx@qq.com          password: xxx          search-paths:             - zhao-config-repo          uri: https://gitee.com/kylezhen/zhao-config-repo.git      label: mainmanagement:  endpoints:    web:      exposure:        include: "*"  endpoint:    health:      show-details: always

需要注意的是我们尽量还是使用gitee作为远程配置中心的拉取地址,否则会因为github网络不畅出现各种问题。配置完成之后我们在启动类加入@EnableConfigServer

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

即完成配置中心服务端配置,通过服务端直接访问配置文件

SpringCloud Config的使用和配置方法

配置中心客户端配置以及手动刷新

pom文件添加

   <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-config-client</artifactId>        </dependency>

配置文件重命名为bootstrap.yml之后增加对配置中心的使用。bootstrap.yml是系统级别的,优先级⽐application.yml⾼,应⽤启动时会检查这个配置⽂件,在这个配置⽂件中指定配置中⼼的服务地址,会⾃动拉取所有应⽤配置并且启⽤。配置暴露健康检查等端点接⼝,以更新配置

spring  cloud:    config:      name: zhao-service-resume      profile: dev      label: main      uri: http://localhost:9007management:  endpoints:    web:      exposure:        include: "*"

经过配置之后增加配置访问的内容

@RestController@RequestMapping("/config")public class ConfigController {    // 和取本地配置信息一样    @Value("${zhao.name}")    private String name;//    @Value("${mysql.url}")//    private String mysqlUrl;    // 内存级别的配置信息    // 数据库,redis配置信息    @GetMapping("/viewconfig")    public String viewconfig() {        return "zhaoname==>" + name;    }}

访问改获取配置的接口

SpringCloud Config的使用和配置方法

但是这样无法获取最新配置,我们需要在获取配置的配置类上加入@RefreshScope注解。并且在更改后手动向使用配置文件的服务健康检查接口发送POST请求才能更新

SpringCloud Config的使用和配置方法

返回为空表示无变更数据,上述为正常获取到配置文件变更

借助Spring Cloud Bus动态刷新配置

网上的教程多以官方支持的Rabbitmq和kafka作为基础来实现,我这里以阿里自己的Rocketmq为例来进行操作

   <dependency>            <groupId>com.alibaba.cloud</groupId>            <artifactId>spring-cloud-starter-bus-rocketmq</artifactId>            <version>2.1.0.RELEASE</version>        </dependency>

在配置中心的服务端和客户端中进行相应的配置

spring:  application:    name: zhao-service-config  cloud:    config:      server:        git:          username: @qq.com          password: xxx          search-paths:             - zhao-config-repo          uri: https://gitee.com/kylezhen/zhao-config-repo.git      label: main    bus:      enabled: truerocketmq:  name-server: 127.0.0.1:9876

通过访问http://localhost:9007/actuator/bus-refresh 即可将配置改变推送到配置

到此,关于“SpringCloud Config的使用和配置方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯