SpringCloudConfig + SpringCloudBus实现动态刷新配置文件

本文介绍了如何使用SpringCloudConfig作为微服务配置中心,通过Eureka作为注册中心,并结合SpringCloudBus实现实时配置更新。在config-server中配置了git仓库,client服务通过bootstrap.yml从config-server获取配置。当git仓库中的配置文件变更,通过POST请求/actuator/refresh可刷新配置。此外,通过SpringCloudBus,可以广播刷新指令到所有或特定服务,实现全局配置的同步更新。

​ 在微服务系统中,当服务越来越多, 服务的配置修改也会变得繁琐复杂,这时springCloudConfig就为微服务应用提供集中化配置的支持。

​ 一下示例中SpringCloud 版本为最新的2020.0.0,注册中心为eureka。

一、流程分析

​ config-server服务统一从某处拉取配置文件,其他client服务在spring实例化bean之前从config-server处获取最新的配置文件,如果本地配置文件中已经存在该配置,将读取本地文件的配置。这个过程中虽然client读取了最新的配置文件,但是必须重启才能加载读取的最新配置。

​ 为了解决重启才能读取最新配置的弊端,此时引入spring-boot-starter-actuator

二、config-server

​ config-server 主要是用来拉取git配置文件,同时config-server也是spring-cloud-bus的服务端

首先是config-server的yml配置

server:
  port: 12900
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: http://192.168.2.168/gitlab/spring-config-test.git #配置文件所在仓库
          username: allen
          password: 123456789
          default-label: dev #配置文件分支,不配置默认master
          search-paths: resources  #配置文件所在根目录
    # bus相关配置
    bus:
      enabled: true
      trace:
        enabled: true
  rabbitmq:
    host: 192.168.2.100
    port: 5672
    username: admin
    password: 654321
    

eureka:
  client:
    serviceUrl:
      defaultZone: http://admin:admin123@192.168.2.252:8000/eureka
      registryFetchIntervalSeconds: 5
  instance:
    prefer-ip-address: true

# actuator相关配置,bus刷新
management:
  endpoints:
    web:
      exposure:
        
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值