欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringCloud:分布式配置中心客户端使用实战(十七)

程序员文章站 2022-07-12 13:14:51
...

在上一章实战十六实战了config连接git服务器拉取相关配置,这一章讲解客户端如何获取Config服务器配置

1.加入依赖(需要拉取配置的服务加)

        <!--配置中心客户端-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
        </dependency>

为什么要用bootstrap.yml配置文件?

正常启动一个应用会去注册中心注册服务,但是如果用配置中心,它不知道先去配置中心拿数据,还是先去注册服务。这里是文件的加载顺序,最高优先级

2.将配置文件改成bootstrap.yml配置文件

加入配置

#指定注册中心
eureka:
  client:
    sericeUrl:
      defaultZone: http://localhost:8761/eureka/
#服务的名称
spring:
  application:
    name: product-service
  #拉取配置中心配置
  cloud:
    config:
      discovery:
        #配置中心的服务名称 eureka上的
        service-id: CONFIG-SERVER
        enabled: true #开启发现功能 默认是false
      #不同分支 不同环境 不使用默认的master 博主这里创建了test分支 如果没有创建的可以写master
      profile: test

3.重新测试访问,看是否能正常返回数据

注意问题

有小伙伴可能一直在按着我的实战走,如果配置完发现Controller层报端口错,就表明没有拿去到配置.还要记得把多节点关闭,不然一开始会先按照你写的端口号走,反而不走配置中心里的文件
SpringCloud:分布式配置中心客户端使用实战(十七)

创建分支的小伙伴可进行灰度测试等等,多环境多节点等

补充知识点

配置是从哪里读取的呢?

可以看服务的日志打印
SpringCloud:分布式配置中心客户端使用实战(十七)

可以采用轮询的方式,多节点服务访问多节点配置服务

注意点

1.配置文件要用bootstrap.yml

2.默认读取文件名是服务名称 你git上的文件名要和配置里写的服务名要一致,不然读取不到对应文件
不明白的话好好看看读取路径的规则 上一章有详细讲到

服务名称 你git上的文件名要和配置里写的服务名要一致,不然读取不到对应文件
不明白的话好好看看读取路径的规则 上一章有详细讲到

回调函数:在后面的实战会讲到,如何实现动态刷新配置,服务再拉取

相关标签: SpringCloud java