Springcloud Config配置中心使用与相关介绍

2023-02-23 0 4,488

目录

Springcloud Config

什么是springcloud Config

  简单来说,Spring Cloud Config就是我们通常意义上的配置中心,也就是微服务项目中,每一个微服务都需要配置相应的配置,如果不同服务的配置文件有相同的配置,如果这些相同配置需要修改的话就要全都修改一遍。如果使用springcloud Config的话就可以把原本放在本地文件的配置抽取出来放在中心服务器,从而能够提供更好的管理、发布能力。
  Config分为服务端和客户端,服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访接口。客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容

config服务端的配置使用

  第一步: 外部config需要结合git使用,于是需要在github或者gitee创建一个仓库,仓库里全都是各种配置文件,git远程仓库的创建这里就不多加赘述,创建完成之后需要获取到仓库的链接
Springcloud Config配置中心使用与相关介绍
  第二步: 引入相关依赖
<!--Config服务端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>

  第三步: 配置文件配置远程仓库地址

server:
  port: 3344
spring:
  application:
    name: cloud-config-center #注册进Eureka服务器的微服务名
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/mereign/springcloud-config.git    #GitHub或者Gitee上面的git仓库名字
          search-paths: #搜索目录
            - springcloud-config
      label: master #读取分支
      #启动成功后访问的路径 http://ip:3344/{label}/{application}-{profile}.yml 能访问的配置文件 就表示成功了
eureka:
  client:
    service-url:
      defaultZone: http://localhost:7001/eureka

  启动配置中心微服务模块,但是有些小伙伴会遇到这个异常Authentication is required but no CredentialsProvider has been registered,原因是你的远程仓库创建的私有的未开源,解决方案有两种,一来就是把仓库修改为开源仓库,还有就是使用下面的方法配置你github或者Gitee的用户名和密码

spring:
  application:
    name: cloud-config-center #注册进Eureka服务器的微服务名
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/mereign/springcloud-config.git    #GitHub或者Gitee上面的git仓库名字
          username: 自己的github或者Gitee用户名
          password: 自己的github或者Gitee密码

  第四步: 主程序类使用@EnableConfigServer注解标注Config服务端
配置好了之后启动微服务,可以使用url链接直接读取文件里的内容
Springcloud Config配置中心使用与相关介绍

config客户端的相关问题

config客户端的配置使用

  第一步: 引入相关依赖,这里客户端的依赖与服务端有所不同
<!--Config服务端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>

  第二步: 配置文件,这里的客户端的配置文件与之前的有所不同,命名为bootstrap.yml,主要区别为applicaiton.yml是用户级的资源配置项,而bootstrap.yml是系统级的,优先级更加高

server:
  port: 3355
spring:
  application:
    name: config-client
  cloud:
    config:
      uri: http://localhost:3344  #配置中心的地址
      label: master  #分支名称
      name: config  #配置文件名称
      profile: dev  #读取后缀名称   上述三个综合http://localhost:3344/master/config-dev.yml
#服务注册到eureka地址
eureka:
  client:
    service-url:
      #设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
      defaultZone: http://localhost:7001/eureka #单机版

  经过上述配置,等服务启动开的时候,会3355服务端会到3344服务端获取config-dev的配置内容,3344服务端再来连接配置的GitHub或者Gitee仓库从而获取config-dev的配置内容
  第三步: 主程序类只需要标注eureka客户端即可,无需标注config客户端
  第四步: 服务端的url链接形式获取内容,而客户端需要使用REST接口的形式获取指定配置信息
@RestController
public class ConfigController {
@Value(\"${config.info}\")
private String configInfo;
@GetMapping(\"/configInfo\")
public String getConfigInfo() {
return configInfo;
}
}

启动主程序类(要先启动注册中心eureka再启动config服务端,最后才能启动config客户端),然后访问controller中的接口即可获得相应的配置信息
Springcloud Config配置中心使用与相关介绍

动态刷新问题

  当远程仓库的配置修改之后,服务端通过url链接的形式获取内容是更新之后的,但是客户端使用REST接口的形式获取到的配置信息则是更新之前的,只有重启config服务端微服务才能通过客户端接口访问到更新之后的配置信息。
  为了解决上述的问题,可以使用动态刷新配置服务端微服务,避免每次配置更新都需要重启微服务才能获取最新配置的痛点
  第一步: 引入actuator监控技术依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

  第二步: bootstrap.yml文件中暴露服务端点,可以让这个服务处于可被监控状态

# 暴露监控端点
management:
  endpoints:
    web:
      exposure:
        include: "*"

  第三步: 在controller类上加@RefreshScope注解
  第四步: 发送post请求,手动刷新3355服务端的监控,这样才能刷新config服务端获取的配置信息

curl -X POST "http://localhost:3355/actuator/refresh

  第五步: 到此为止就config服务端就可以访问到远程仓库中最新的配置信息了

config客户端的遗留问题

  config客户端动态刷新解决了微服务每次都要重启才能获取最新配置信息的问题,但是,如果config客户端有很多呢?每次远程仓库配置修改都需要使用post请求手动刷新所有的服务吗?是不是也很麻烦,那么是否可以使用广播的形式,一次通知处处生效,大范围的自动刷新,定制化的指定服务刷新?那就用到了下一篇博客学习的消息总线——springcloud Bus

资源下载此资源下载价格为1小猪币,终身VIP免费,请先
由于本站资源来源于互联网,以研究交流为目的,所有仅供大家参考、学习,不存在任何商业目的与商业用途,如资源存在BUG以及其他任何问题,请自行解决,本站不提供技术服务! 由于资源为虚拟可复制性,下载后不予退积分和退款,谢谢您的支持!如遇到失效或错误的下载链接请联系客服QQ:442469558

:本文采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可, 转载请附上原文出处链接。
1、本站提供的源码不保证资源的完整性以及安全性,不附带任何技术服务!
2、本站提供的模板、软件工具等其他资源,均不包含技术服务,请大家谅解!
3、本站提供的资源仅供下载者参考学习,请勿用于任何商业用途,请24小时内删除!
4、如需商用,请购买正版,由于未及时购买正版发生的侵权行为,与本站无关。
5、本站部分资源存放于百度网盘或其他网盘中,请提前注册好百度网盘账号,下载安装百度网盘客户端或其他网盘客户端进行下载;
6、本站部分资源文件是经压缩后的,请下载后安装解压软件,推荐使用WinRAR和7-Zip解压软件。
7、如果本站提供的资源侵犯到了您的权益,请邮件联系: 442469558@qq.com 进行处理!

猪小侠源码-最新源码下载平台 PHP教程 Springcloud Config配置中心使用与相关介绍 http://www.20zxx.cn/586093/xuexijiaocheng/qes.html

猪小侠源码,优质资源分享网

常见问题
  • 本站所有资源版权均属于原作者所有,均只能用于参考学习,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,建议提前注册好百度网盘账号,使用百度网盘客户端下载
查看详情

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务