SpringCloud基础配置与一些注意事项(八)Spring cloud Config 配置中心

配置中心需要的依赖(实现了自动从gitee或者github自动拉取配置文件的效果)

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!-- 服务总线 ,实现服务自动拉取配置文件 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-bus</artifactId>
        </dependency>
        <!-- user-service等能自动拉取配置文件是因为监听了消息队列,收到了配置文件更改的消息 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-rabbit</artifactId>
        </dependency>

配置文件 启动类需要额外添加注解@EnableConfigServer

server:
  port: 12000
spring:
  application:
    name: config-server
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/xxxxx # 仓库地址
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10001/eureka
management:
  endpoints:
    web:
      exposure:
        # 暴露触发消息总线的地址 此处不是随意设置的,必须是bus-refresh,另外还有bus-env service-registry 需要自行了解
        include: bus-refresh

此处以user-service工程为例:
1.将user-service工程下的application.yml复制一份到gitee仓库,命名为user-service.yml;
2.创建bootstrap.yml文件(bootstrap.yml也是springboot默认会读取的配置文件,读取优先级还要高于application)
3.在UserController控制器上添加注解@RefreshScope代表此类会刷新数据

spring:
  cloud:
    config:
      # 需要读取的文件名的前部分 user-service.yml    user
      name: user
      # 需要读取的文件的后部分 (不包括后缀) user-service.yml   service
      profile: service
      # 分支 
      label: master
      discovery:
        enabled: true
        # 配置中心id
        service-id: config-server
  rabbitmq:
    host: localhost
    username: guest
    password: guest
    port: 5672
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10001/eureka

修改仓库中的配置文件 比如在最后加入字段 test = xixihaha;

注意配置中心连接到仓库的地址;

测试能否抓取到仓库中的配置文件:

在user-service的工程中读取该test字段,测试能否读取

修改仓库中配置文件中的test = haha;

然后使用postMan或者advanced REST client 发送post请求 到http://localhost:12000/bus-refresh 发送数据空 格式为json;
查看返回值是否20开头;

再次测试user-service读取到的test字段是否已经改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值