配置中心- Config

三、 Bus总线

1. 理念

  • 每次修改config文件,需要手动刷新client server的配置,比较麻烦
  • 假如client server端比较多,执行难度较大
    在这里插入图片描述
1. 远程配置中心文件修改
2. config server整合消息中间件,发送一个topic主题,表明配置已经更新
3. 各个client srver订阅该topic主题(只支持rabbitmq或者kafka)
4. 运维执行curl:"config server",刷新所有客户端的数据;

2. 案列演示

  • 按照官网的方式进行消息中间件的 bus-amqo的整合,工程会自动进行消息的发送和整合作用
2.1 Config Server
    <!--web模块的两个依赖-->
    <!--配置中心依赖-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-server</artifactId>
    </dependency>

    <!--bus消息总线整合rabbitmq-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>
</dependencies>
server:
  port: 9001

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/bootscata/config-server

# rabbitmq的相关配置
  rabbitmq:
    host: 60.205.229.31
    port: 5673
    username: guest
    password: guest

# 监控bus-refresh路径
management:
  endpoints:
    web:
      exposure:
        include: 'bus-refresh'
2.2 Client Server

bootstrap.yaml

  • 这些信息放在application.yaml,服务启动就会报错,必须放在bootstrap.yaml中;
spring:
  cloud:
    config:
      label: master  # git对应的仓库分支
      name: datasource   # 文件的名字
      profile: prod  # 文件的profile属性
      uri: http://localhost:8000  # 去config server工程去间接取

  # rabbitmq的相关配置
  rabbitmq:
    host: 60.205.229.31
    port: 5673
    username: guest
    password: guest

# 暴露监控点
management:
  endpoints:
    web:
      exposure:
        include: "*"  # 起到监控所有作用

测试类

@RestController
@RefreshScope
public class ConfigConsumerController {
}
2.3 Auto Updating
  • 全量刷新
1. 在github上更新文件,config server可以立即获取到实时信息
2. cmd窗口: 只对config server的端口和ip进行刷新
   curl -X POST "http://localhost:8000/actuator/bus-refresh"
3. 所有client server数据都会更新
  • 定点刷新
# 目标client server:spring.application.name: server.port
curl -X POST "http://localhost:8000/actuator/bus-refresh/client-first:9001"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值