一、 Bus总线

1. 理念

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

2. 案列演示

2.1 config server控制总线微服务

pom.xml

    <!--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>

application.yaml

server:port: 9001spring:cloud:config:server:git:uri: https://github.com/bootscata/config-server# rabbitmq的相关配置rabbitmq:host: 60.205.229.31port: 5673username: guestpassword: guest# 监控bus-refresh路径
management:endpoints:web:exposure:include: 'bus-refresh'

主启动类

@SpringBootApplication
@EnableConfigServer  // 开启注册中心

2.2 业务微服务

  • 不同端口,启动多个微服务;
    pom.xml类似
    application.yaml
server:port: 9001

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.31port: 5673username: guestpassword: guest# 暴露监控点
management:endpoints:web:exposure:include: "*"  # 起到监控所有作用

主启动类

@SpringBootApplication

测试类

@RestController
@RefreshScope
public class ConfigConsumerController {@Value("${name}")private String name;@Value("${type}")private String type;@Value("${password}")private String password;@Value("${branch}")private String branch;@GetMapping("/server/getinfo")public String getInfo() {String result = name + "===" +type + "===" + password + "==="+ branch;System.out.println(result);return result;}
}

2.3 更新步骤

刷新所有相关服务

# 1. 在github上更新文件,config server可以立即获取到实时信息;
# 2. 在window命令行执行下面命令:  其中localhost:8000 是config server的端口和ip
curl -X POST "http://localhost:8000/actuator/bus-refresh"
# 3. 所有微服务侧就已经同步数据了

定点刷新指定相关服务

# 定点微服务的:spring.application.name: server.port
curl -X POST "http://localhost:8000/actuator/bus-refresh/client-first:9001"

五、服务总线 - Bus相关推荐

  1. SpringCloud config 配置中心集群配置以及整合消息总线BUS实现关联微服务配置自动刷新

    一.SpringCloud Config 基本配置中的问题 在上一章节<SpringCloud config 配置中心介绍与基本配置使用>中我们现实了配置中心的配置集中管理.调用微服务应用 ...

  2. Azure Service Bus (服务总线) 入门

    目录 概述 实验环境搭建 代码示例 概述 Azure Service Bus是一种完全托管的企业集成消息中转站,可以帮助开发人员轻松地分离应用程序和服务,从而可以专注于面向具体业务逻辑的应用程序的设计 ...

  3. 499、Java分布式和集群12 -【SpringCloud视图微服务 - 消息总线Bus】 2021.06.01

    目录 0.RabbitMQ 1.先运行,看到效果,再学习 2.pom.xml 3.bootstrap.yml 4.application.yml 5.ProductDataServiceApplica ...

  4. ESB即企业服务总线

    ESB全称为Enterprise Service Bus,即企业服务总线.它是传统中间件技术与XML.Web服务等技术结合的产物.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素. E ...

  5. 万字长文解析:分布式架构、SOA、微服务架构、API网关、ESB服务总线架构之间的关联及演进

    1架构演进 架构十五年:改变的是形态,不变的是目的 业务驱动架构形态变化 过去十几年,随着互联网发展以及业务的多样化,系统的架构也在不断发生变化,总体上来说大体经历了从单体应用架构-垂直应用架构-分布 ...

  6. SpringCloud-消息总线BUS

      本文我们来介绍下SpringCloud中消息总线BUS. 一.什么是消息总线bus   SpringCloud Bus集成了市面上常用的消息中间件(rabbit mq,kafka等),连接微服务系 ...

  7. WCF服务编程设计规范(6):队列服务、安全和服务总线

    WCF服务编程设计规范(6):队列服务.安全和服务总线.本节整理队列服务(Queue Servuce).服务安全(Service Security)和服务总线(Service Bus)的设计规范. Q ...

  8. .Net开源 Shuttle(飞梭)服务总线(ESB)入门

    Shuttle(飞梭)服务总线是一个免费的.NET开源软件项目,它为开发面向消息的事件驱动架构(EDA)系统提供了一种新方法.尽管它仍处于起步阶段,不过它已被应用于生产系统之中. 相关要点如下: 用C ...

  9. SpringCloud教程-消息总线Bus 客户端(client)刷新(SpringCloud版本Greenwich.SR4)

    文章目录 消息总线(Bus)介绍 项目示例 config-client-bus 代码地址:github-spring-cloud地址 前言:前面文章讲了Spring Cloud Config配置中心如 ...

  10. .net中调用esb_大型ESB服务总线平台服务运行分析和监控预警实践

    今天准备谈下ESB总线平台建设项目中的服务运行统计分析,服务心跳监测,服务监控预警方面的设计和实现.可以看到,在一个ESB服务总线平台上线后,SOA治理管控就变得相当重要,而这些运行监控分析本身也是提 ...

最新文章

  1. CSS中的颜色和字体
  2. BagNet超越 AlexNet,在ImageNet 上实现最先进结果!
  3. java线程实例题_java线程相关试题实例源码代码
  4. bootstrap-代码-内联代码
  5. abap mm后台表_如何查找SAP Fiori UI上某个字段对应的底层数据库表
  6. 你知道“借鸡生蛋”吗?学会这个方法,没钱没人脉你也可以创业
  7. 10.Linux/Unix 系统编程手册(上) -- 时间
  8. 实验吧—Web——WP之 Forms
  9. java 扒网站_扒网站工具,看好哪个网站,指定好URL,自动扒下来做成模版。所见网站,皆可为我所用!...
  10. 《Java大学教程》—第24章 Java的背景
  11. 随机生成姓名,姓名生成器
  12. 【win10升级】我们无法更新系统保留的分区
  13. Windows 7 登录界面背景图片定制
  14. 基于CH340G的USB芯片的学习
  15. 微信H5页面禁止分享朋友和复制链接
  16. 如何根据图片换算出中轴大小?
  17. CKEDITOR获取内容
  18. STM32F103C8T6 ADC输入电流电压特性
  19. 移动端浏览器调起百度地图、高德地图
  20. 7-51单片机ESP8266学习-AT指令(测试TCP服务器--51单片机程序配置8266,用手机TCP调试助手发信息给单片机控制小灯的亮灭)

热门文章

  1. Redis的读写分离
  2. 国家统计局拟用大数据预测房价走势
  3. 【读书笔记】心理学与生活
  4. 【数据说·第十五期】如何对营业额数据进行分析,提升门店盈利能力?
  5. 电脑出现无法访问您试图使用的功能所在的网络位置问题的解决方式
  6. 解决关闭xftp,总是跳出无法访问网络位置,请输入xftp 6.msi
  7. java-php-python-ssm南京新东方学校家校通系统计算机毕业设计
  8. php脚本暴力破解网站密码(附php源代码)
  9. input类型为number时鼠标滚动出现箭头
  10. tan和cot的梗_sin对cos说,今晚我们是tan呢?还是cot呢?是什么意思?