spring cloud bus
在MQ上会创建一个 springCloudBus 的 exchange
每个服务都会创建一个 springCloudBus.anonymous.xxx 的队列(queue)
--springCloudBus.anonymous.Bp0n_077SIaJXXZFzGS_hQ
每个queue都会绑定exchange,routingKey 为: #
-- 意思是接受所有的消息
----------------------
当调用配置刷新时,调用:
POST http://localhost:8081/config/actuator/bus-refresh
会发送一条消息到MQ:
exchange: springCloudBus ,routingKey : springCloudBus
消息内容大概这样:
{"type":"RefreshRemoteApplicationEvent","timestamp":1540780323493,"originService":"config:8081:978efb4c523dc1553ec6df9f86e8574a","destinationService":"customers:9000:**","id":"5cf7d445-0fdb-4666-8017-a4cbbf55f064"}
每个服务(Queue)都会收到该信息,然后每一个都会发送一个确认消息:
{"type":"AckRemoteApplicationEvent","timestamp":1540780484680,"originService":"gateway:8084:5a04db0104b673cb01e9961467796631","destinationService":"**","id":"bbfb9bf2-7cff-4928-9c4f-1d192b04de8c","ackId":"4e320d18-2a58-41e6-aecd-98e0a66faae3","ackDestinationService":"**","event":"org.springframework.cloud.bus.event.RefreshRemoteApplicationEvent"}
这种模式依赖于客户端的消息过滤,如果某个服务的消息量较大,会拖垮其它服务
所以这种模式应该用于配置等一些通用的通道,其它业务消息事件等采用另外一套,不要混合到一起
@StreamListener 注解需要包含在 @Configuration 类中才会被扫描到
引入 bus 会导致 ClasspathLoggingApplicationListener 被触发两次
配置中心也会拉取两次,开启debug,就可以从日志看出来
官方说是正常现象,目前也没发现异常状况
https://stackoverflow.com/questions/48406527/spring-cloud-config-bus-calls-twice-to-the-config-server-when-the-binder-is-cr
https://github.com/spring-cloud/spring-cloud-stream/issues/1188
spring cloud bus相关推荐
- 原 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f8-bus/ 本文出自方志朋的博客 转载请标明出处: Spr ...
- Spring Cloud(十一)高可用的分布式配置中心 Spring Cloud Bus 消息总线集成(RabbitMQ)
上一篇文章,留了一个悬念,Config Client 实现配置的实时更新,我们可以使用 /refresh 接口触发,如果所有客户端的配置的更改,都需要手动触发客户端 /refresh ,当服务越来越多 ...
- Spring Cloud第八篇:Spring Cloud Bus刷新配置
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
首先:欢迎各位学习java和大数据的程序员朋友们加入Java交流学习群: 721506929,群内提供免费的架构学习资料,有需要的朋友可以进群来学习. https://www.fangzhipeng. ...
- (八)java版spring cloud+spring boot 社交电子商务平台-消息总线(Spring Cloud Bus)
电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要 ...
- (十六)java springcloud版b2b2c社交电商spring cloud分布式微服务-使用spring cloud Bus刷新配置...
b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c的业务服 ...
- (十六) 整合spring cloud云架构 -使用spring cloud Bus刷新配置
2019独角兽企业重金招聘Python工程师标准>>> 我们使用spring cloud分布式微服务云架构做了b2b2c的电子商务系统,除了架构本身自带的系统服务外,我们将b2b2c ...
- 消息总线(Spring Cloud Bus)
spring CloudBus 将分布式的节点和轻量的消息代理连接起来.这可以用于广播配置文件的更改或者其他的管理工作.一个关键的思想就是,消息总线可以为微服务做监控,也可以作为应用程序之间相互通讯. ...
- java版spring cloud+spring boot+redis社交电子商务平台(八)消息总线(Spring Cloud Bus)
B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控. ...
- SpringCloud微服务云架构构建B2B2C电子商务平台之-(八)消息总线(Spring Cloud Bus)...
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控.本文要讲述的是用Spring Cloud Bus实现通知微服务 ...
最新文章
- centos普通用户SSH免密登录
- js常见问题之为什么点击弹出的i总是最后一个
- 653. Two Sum IV - Input is a BST
- 你的企业混合云了吗?来看看评估混合云解决方案时要注意的6个原则!
- julia自然常数_Julia中的Sys.KERNEL常数
- Ubuntu18.04 LTS Melodic ROS 教程:使用URDF创建一个虚拟机器人模型
- 大数据之-Hadoop3.x_Yarn_全流程作业---大数据之hadoop3.x工作笔记0143
- 牛客网暑期ACM多校训练营(第十场): H. Rikka with Ants(类欧几里得)
- 动态路由之OSPF(开放式最短路径优先协议)
- android 自定义园动画,如何在Android中绘制一个带有动画的圆
- JavaScript表单编程
- php 采集网站关键字,php远程获取网站的关键字信息(并附:php判断字符串编码)...
- 1 10000以内的质数表C语言,110000质数表
- 简述神经网络的优点和缺点,人工神经网络优缺点
- 基于 M2Mqtt 和 emqx 实现的MQTT通讯
- 公司网站应该外包SEO公司还是自己去做?
- Bootstrap 新手学习手册---环境部署与网格系统
- 设计制作了一套easyui皮肤组件
- 小米误删userdata分区,userdata分区无法还原,安卓误删分区,且能进twrp,刷机卡米的情况,重新分区教程
- C++ 拉格朗日插值法优化 DP