首先:欢迎各位学习java和大数据的程序员朋友们加入Java交流学习群: 721506929,群内提供免费的架构学习资料,有需要的朋友可以进群来学习。

https://www.fangzhipeng.com/springcloud/2017/06/01/sc01-eureka.html

本文出自方志朋的博客

Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。

一、准备工作

本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;这就是说我们需要装rabbitMq,点击rabbitmq下载。至于怎么使用 rabbitmq,搜索引擎下。

二、改造config-client

在pom文件加上起步依赖spring-cloud-starter-bus-amqp,完整的配置文件如下:

在配置文件application.properties中加上RabbitMq的配置,包括RabbitMq的地址、端口,用户名、密码。并需要加上spring.cloud.bus的三个配置,具体如下:

ConfigClientApplication启动类代码如下:

依次启动eureka-server、confg-cserver,启动两个config-client,端口为:8881、8882。

访问http://localhost:8881/hi 或者http://localhost:8882/hi 浏览器显示:

这时我们去代码仓库将foo的值改为“foo version 4”,即改变配置文件foo的值。如果是传统的做法,需要重启服务,才能达到配置文件的更新。此时,我们只需要发送post请求:http://localhost:8881/actuator/bus-refresh,你会发现config-client会重新读取配置文件

重新读取配置文件:

这时我们再访问http://localhost:8881/hi 或者http://localhost:8882/hi 浏览器显示:

另外,/actuator/bus-refresh接口可以指定服务,即使用"destination"参数,比如 “/actuator/bus-refresh?destination=customers:**” 即刷新服务名为customers的所有服务。

三、分析

此时的架构图:

当git文件更改的时候,通过pc端用post 向端口为8882的config-client发送请求/bus/refresh/;此时8882端口会发送一个消息,由消息总线向其他服务传递,从而使整个微服务集群都达到更新配置文件。

今天的分享就到这里结束了~

最后:欢迎各位学习java和大数据的朋友们加入Java交流学习群: 721506929

点击链接加入群聊【java交流学习群】:https://jq.qq.com/?_wv=1027&k=5mH1lvO群内提供免费的架构资料还有:Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的免费直播讲解 可以进来一起学习交流哦~

转载于:https://juejin.im/post/5cdd0ffef265da037371ace1

史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)相关推荐

  1. 原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/ 本文出自方志朋的博客 转载请标明出处: Spr ...

  2. 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)

    转:https://blog.csdn.net/forezp/article/details/70148235 Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播 ...

  3. SpringCloud学习(八)消息总线(Spring Cloud Bus)(Finchley版本)

    Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...

  4. 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)

    转载请标明出处: http://blog.csdn.net/forezp/article/details/81040965 本文出自方志朋的博客 上一篇文章,讲述了如何通过RestTemplate+R ...

  5. 史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目

    转:https://blog.csdn.net/forezp/article/details/70198649 一.docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的 ...

  6. 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)

    转:https://blog.csdn.net/forezp/article/details/69808079 最新版本: 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign ...

  7. 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    最新Finchley版本请访问: https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f1-eureka/ 或者 http://blog.csd ...

  8. 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)

    转:https://blog.csdn.net/forezp/article/details/70037291 最新版本: 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spr ...

  9. 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)

    转:https://blog.csdn.net/forezp/article/details/69939114 最新版本: 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)( ...

最新文章

  1. rotate.js实现图片旋转 (chrome,IE,firefox都可以实现)
  2. linux c编译错误storage class specified for parameter XXX
  3. 多线程导出excel_【开源资讯】MyExcel 3.7.0 发布,屏蔽多线程处理细节
  4. 2021年Java后端技术知识体系
  5. Elasticsearch技术解析与实战(六)Elasticsearch并发
  6. openkm zip 导入乱码问题解决
  7. mysql数据库ACID实现原理
  8. python爬虫教程蝴蝶汤_Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤
  9. 法向量 点云pca_CVPR 2019 | 旷视研究院Oral论文提出GeoNet:基于测地距离的点云分析深度网络...
  10. spring容器启动的加载过程(三)
  11. html5数组循环右移,下面的程序代码实现将一个一维数组中元素向右循环移动 移位次数由文本框Text输入。例如数组各元素...
  12. C++中的set(STL的应用部分)
  13. VB连接ACCESS数据库精简版
  14. Tcl 语言 ——变量篇
  15. C#查看打印机状态(缺纸)
  16. 【wps】wps怎样删除中间的一页?
  17. lpx寒假作业案例5
  18. 琐事记 - 2015/10/28
  19. 网园网络电视 v1.2 官方
  20. 常用二维码介绍与分析

热门文章

  1. 企业级LNMP架构搭建实例(基于Centos6.x)
  2. 分布式文件系统:HDFS
  3. AngularJS之Service(四)
  4. MurmurHash算法:高运算性能,低碰撞率的hash算法
  5. php中关于mysqli和mysql区别
  6. linux下如何察看哪个进程在写硬盘
  7. 拖慢操作系统启动的8个真实原因
  8. NIS 服务器的配置
  9. Linux网络性能评估工具iperf
  10. iptables mangle表研究(未完)