栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SpringCloud极简入门>消息总线#bus

SpringCloud极简入门>消息总线#bus

简介

通过bus组件,可以在更新git配置信息后,通过发送一个post请求,更新《server-config》拉取的配置,并以RabbitMQ将更新内容广播至其对应的各个微服务;

本篇前置:
SpringCloud极简入门>配置服务#config

实战 1、前置准备 1.1、需要开启RabbitMQ服务

cmd以管理员权限执行net stop RabbitMQ && net start RabbitMQ;

1.2、对zipkin有影响

原本cmd执行java -jar zipkin-server-2.10.1-exec.jar,改为java -jar zipkin-server-2.10.1-exec.jar --zipkin.collector.rabbitmq.addresses=localhost;

2、《server-order》项目改造 2.1、添加依赖

actuator可以在修改git配置内容后刷新《server-config》服务拉取的配置值;
bus-amqp可以通过RabbitMQ通知各个微服务刷新获取的git配置值;


    org.springframework.boot
    spring-boot-starter-actuator


    org.springframework.cloud
    spring-cloud-starter-bus-amqp

2.2、yml配置

application.yml添加

#支持bus
management:
  endpoints:
    web:
      exposure:
        include: "*"
      cors:
        allowed-origins: "*"
        allowed-methods: "*"

bootstrap.yml添加

#读取server-config服务上当前服务的git配置
spring:
  cloud:
    config:
      label: main
      profile: dev
      discovery:
        enabled: true
        service-id: server-config
    #支持bus
    bus:
      trace:
        enabled: true
      enabled: true
  #支持bus
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
2.3、添加注解

在含@Value和@ConfigurationProperties的获取git配置的类上声明注解@RefreshScope;

3、配置完毕,查看效果

1、分别启动《server-center》,《server-config》,《server-order》,请求http://localhost:7002/cfgP,获得结果

GitAutoRefreshConfig{env='dev', user=User{username='catface', password='root'}}

2、修改git上的配置值env=devdevdev;

3、 postman发起post请求http://localhost:7002/actuator/bus-refresh后再访问http://localhost:7002/cfgP,获得结果,可以看到在没有重启服务的情况下,读取的配置文件更新了;

GitAutoRefreshConfig{env='devdevdev', user=User{username='catface', password='root'}}

4、再以7003端口启动《server-order》服务,修改git配置后,操作上述步骤3、后会发现以7002和7003端口读取的配置值均是更新后的,这就是RabbitMQ将更新的git配置广播给了各个微服务;

总结

通过bus组件,可以在更新git配置信息后,通过发送一个post请求,更新《server-config》拉取的配置,并以RabbitMQ将更新内容广播至其对应的各个微服务;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/742551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号