网络技术分享
个人经验记录

Spring Cloud 进阶之路 -- 统一配置中心 Config Client 端配置

 

Spring Cloud 统一配置中心 – Config Client 搭建步骤:

1、引入依赖

2、application.yml 改为 bootstrap.yml

3、增加spring.cloud.config 相关配置,去掉已提交到git的配置

4、测试去掉的配置是否能从git 成功拉取

 

具体如下:

1、引入依赖

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

2、application.yml 改为 bootstrap.yml

     bootstrap.yml(或bootstrap.properties)在程序引导时执行,应用于更早期的配置信息读取,bootstrap.yml 先于 application.yml 加载,因为把数据库连接信息放入了gitee,如果依旧用 application.yml,启动时会报如下错:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

所以需要将application.yml 改为 bootstrap.yml,应用启动时,配置信息首先从 config server 加载,取得数据库配置等信息,这里就是提前要拿到的引导配置,用来加载真正需要的配置信息。

改完后启动,看下日志,看到 :Fetching config from server at : http://localhost:8080/   如下图:

 

3、增加spring.cloud.config 相关配置,去掉已提交到git的配置

这里主要增加:

  cloud:
    config:
      discovery:
        enabled: true
        # 对应注册到Eureka中的配置中心应用名
        service-id: CONFIG
      profile: dev

 完全配置:

spring:
  application:
    name: order
  cloud:
    config:
      discovery:
        enabled: true
        # 对应注册到Eureka中的配置中心应用名
        service-id: CONFIG
      profile: dev
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8091

 已将数据库配置移到git上。

 

4、测试去掉的配置是否能从git 成功拉取

程序启动成功说明数据库没有问题,另测试了一下是否能获取到git上的配置,上图分别表示:

(1)、service-id对应配置中心应用名
(2)、通过应用名order拼上profile找到配置文件
(3)、测试是否能获取到env
(4)、访问后得到 dev 测试通过,配置成功

 

另外注意:Eureka 的配置如果放到git上,又不是默认端口的话,就会有问题,加载不到,是因为客户端需要先Eureka 的地址,再通过 Eureka 里的应用名找到配置中心,然后才能通过配置中心去读取配置,如果Eureka 都没有拿到,何谈CONFIG。

 

 

赞(0) 打赏
未经允许不得转载:老麻 » Spring Cloud 进阶之路 -- 统一配置中心 Config Client 端配置

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册