SpringCloud教程-消息总线Bus 服务端(server)刷新(SpringCloud版本Greenwich.SR4)

SpringCloud笔记(六)SpringCloud+RabbitMQ消息总线刷新配置【Greenwich.SR1版本】 在之前的博客中介绍了一种手动刷新配置文件的方式:SpringCloud笔记(五)分布式配置中心,但是这种方式有严重的缺陷,就是当配置文件更新时,所有的客户端都必须手动POST发送actuator/refresh请求才能获取到最新的配置文件,这样未免也太麻烦了。SpringCloud Bus可以通过整合Kafka或RabbitMQ,通过发布/订阅模式,刷新配置。当Git中的配置文件更改后,只需要在C... 阅读详情


代码地址:github-spring-cloud地址

前言:本篇文章在上一篇文章基础上进行修改,因为虽然我们做到了利用一个消息总线触发刷新,而刷新所有客户端配置的目的,但是这种方式并不合适。原因有两点:
1、破坏了微服务各节点的对等性,2、如果客户端ip有变化,这时我们就需要修改WebHook的配置。

上篇文章的架构模式稍微改变一下(图片来源网络)
在这里插入图片描述
这时Spring Cloud Bus做配置更新步骤如下:

  1. 提交代码触发post给Server端发送bus/refresh
  2. Server端接收到请求并发送给Spring Cloud Bus
  3. Spring Cloud bus接到消息并通知给其它客户端
  4. 其它客户端接收到通知,请求Server端获取最新配置
  5. 全部客户端均获取到最新的配置

项目示例

config-server-bug

pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>spring-cloud-learn</artifactId>
        <groupId>com.sl.learn.cloud</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.sl.learn.cloud</groupId>
    <artifactId>config-server-bus</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-hystrix -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>

    </dependencies>

</project>

配文文件application.properties

spring.application.name=config-server-bus
server.port=8088
eureka.client.serviceUrl.defaultZone=http://localhost:8080/eureka/
spring.cloud.config.server.git.uri=https://github.com/FadeHub/SpringCloudConfig
spring.cloud.config.server.git.searchPaths=repo
spring.cloud.config.label=master
spring.cloud.config.username=
spring.cloud.config.password=

management.endpoints.web.exposure.include= *
management.endpoint.health.show-details= always
management.endpoint.shutdown.enabled= true
info.app.name =  spring-boot-actuator
info.app.version =  1.0.0
info.app.test =  test


## 开启消息跟踪
spring.cloud.bus.trace.enabled=true

spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

启动类Application

@SpringBootApplication
@RestController
@RefreshScope
@EnableEurekaClient
@EnableConfigServer
@EnableDiscoveryClient
public class ConfigServerBusApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerBusApplication.class,args);
    }
    
}

依次启动eureka,config-serve-bus,config-client。
按照上篇的测试方式,访问客户端测试均可以正确返回信息。同样修改配置文件,将值改为:hello config server bus update并提交到仓库中。在win10下使用下面命令来模拟webhook。

curl -v -X POST http://localhost:8088/actuator/refresh

在这里插入图片描述
执行完成后,访问客户端,返回:hello config server bus update

世界地图GeoJSON数据包实战:从加载渲染到TopoJSON压缩上线 GeoJSON是一种基于JSON的开放地理空间数据格式,遵循RFC 7946规范,以纯文本存储点、线、面等几何要素,可直接被浏览器和GIS工具解析。其核心原理是用FeatureCollection组织Feature,每个Feature包含geometry和properties字段。相比shapefile,GeoJSON无需二进制依赖,更适合前端可视化与离线地图场景。在数据可视化中,常需将业务数据按国家维度映射到地图上,ECharts、D3.js、Leaflet等库均可直接加载GeoJSON实现填色与交互。然 阅读详情

相关推荐

COMSOL后处理与可视化

公众号→【COMSOL仿真交流】←更多精彩内容 后处理是采用COMSOL建模的一个重要环节。通过软件自带的可视化工具,可以快速方便的展现仿真结果。 COMSOL为使用者提供了多种后处理工具,包括表面图、切面图、等值线图、流线图、线图、体图等等。可按功能分为数据集(储存数据的地方)、派生值和表单(对数据进行进一步的操作)、绘图组合绘图类型(显示数据结果的地方)、导出数据与生成报告。   如果想用origin、matlab对模拟数据做进一步的处理,导出excel格式的模拟结果,这可以通过“导出

midiio的博客 4027

SpringCloud搭建微服务之Bus消息总线

Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,整合了Java的事件处理机制和消息中间件的功能,目前支持RabbitMQ和Kafka两种消息中间件。其功能是管理和传播分布式系统间的消息,用于广播状态更改、事件推送和微服务间通信通道,配合Spring Cloud Config使用可以实现配置的动态刷新

liu320yj的博客 1163

S32K3实战:手把手教你用eMIOS模块实现电机PWM控制(附代码)

本文详细解析了NXP S32K3系列MCU的eMIOS模块在电机PWM控制中的应用,从硬件设计到软件实现,再到调试与优化,提供了完整的实战指南。通过eMIOS模块的硬件级PWM生成能力,工程师可以实现高精度的电机控制,适用于汽车电子和工业控制领域。

weixin_42570484的博客 146

SpringCloudConfig集成Bus消息总线实现动态刷新配置(全局广播和定点通知)

SpringCloudConfig分布式配置中心介绍与搭建使用以及ConfigClient实现动态刷新配置:SpringCloudConfig分布式配置中心介绍与搭建使用以及ConfigClient实现动态刷新配置_霸道流氓气质的博客-优快云博客在上面实现ConfigClient动态刷新的机制下,是通过post接口调用ConfigClient的方式去进行动态刷新配置。如果ConfigClient较多的话,需要调用每个的接口进行动态刷新配置。有没有可以统一通知的方式,让所有的ConfigClient都可以进

BADAO_LIUMANG_QIZHI的博客 883

ROS阿克曼小车避坑指南:TEB Local Planner参数调优实战(附完整配置文件)

本文针对ROS阿克曼底盘机器人,提供了TEB Local Planner参数调优的实战指南。文章深入剖析了阿克曼模型与TEB的协同工作原理,重点讲解了`min_turning_radius`、`cmd_angle_instead_rotvel`等关键参数的设置与调试方法,并分享了性能优化、避障行为调整的实用技巧,旨在帮助开发者避开常见陷阱,实现小车在复杂环境中的稳定、高效导航。

ik6789012的博客 500

ARM Memory Compiler实战指南:从参数配置到GDSII生成的全流程解析

本文详细解析了ARM Memory Compiler在SRAM设计中的全流程应用,从基础参数配置到GDSII文件生成。涵盖SRAM类型选择、核心参数配置策略、高级优化技巧及TSMC 28nm工艺下的实战案例,帮助IC设计工程师高效实现存储器模块的优化设计。

game4的博客 417

Service Bus for Windows server

Microsoft最近公开发布了Service Bus 1.0,该Service Bus可以免费地使用于具有适当license的Windows服务器上,这使得Windows服务器也具有了像Windows Azure消息服务这样的功能。 Service Bus for Windows使得用户可在任何Windows 2008 R2及更高版本服务器上提供和操作服务总线主题(Service Bus To...

weixin_33713350的博客 185

SECS/GSM 测试工具 SecsExpress 的配置与实战应用

本文详细介绍了半导体设备通讯测试工具SecsExpress的配置与实战应用。作为专业的SECS/GSM协议调试工具,它能模拟Host与设备端进行双向测试,帮助工程师快速部署、验证通讯链路,并高效排查与RMS系统或真实设备间的联调问题,是提升半导体工厂设备集成与维护效率的利器。

yhn456789的博客 298

【KubeEdge】 ServiceBus分析

ServiceBus简介 ServiceBus是一个运行在边缘的HTTP客户端,接受来自云上服务的请求,与运行在边缘端的HTTP服务器交互,提供了云上服务通过HTTP协议访问边缘端HTTP服务器的能力。 总体架构 ServiceBus启动一个goroutine来接受来自beehive的消息,然后基于消息中带的参数,通过调用http client将消息通过REST-API发送到本地127.0.0.1上的目标APP。这相当于一个客户端,而APP是一个http Rest-API server,所有的操作和设备状

u014446173的博客 1610

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5721

VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文

VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文件夹对话框代码/重新生成三维图代码/导出工程图代码)之详细攻略 目录 基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用 1、调用SW的模型,并进行参数修改 1.1、VB按钮之SW的三维零件之间切换思想 1.2、调用SW 2、基础案例经验 2.1、设计SW的拉

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 3036

SpringCloud-bus- Bus-Server动态刷新配置文件

一)刷新Server端实现配置文件的动态读取 1)服务端和客户端的要求 1.都要连接上的RabbitMQ 2.配置bus-amqp坐标 Server端刷新的流程图如下 2.Server端配置 1.创建项目 2.pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org...

失忆๑的博客 480

一次点击跑通:用 Postman 自动获取并携带 CSRF token,测试 SAP OData 写操作

SAP OData 写操作自动化测试方案 针对 SAP Gateway OData 服务写操作中常见的 CSRF token 验证问题,本文提出了一套基于 Postman 的自动化解决方案: 问题分析:解释了 CSRF token 的验证机制及其必要性,说明手工测试效率低下的原因 解决方案: 使用 Postman 环境变量存储 token 通过脚本自动获取并传递 token 利用 Collection Runner 实现一键执行 实施步骤: 创建环境变量存储 token 第一个请求获取 token 并存入变

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 305

手把手教你使用Spring Cloud Bus来动态刷新配置

手把手教你使用Spring Cloud Bus来动态刷新配置 项目使用SpringCloud版本 :Greenwich.SR2 SpringBoot版本 : 2.1.7.RELEASE 一、Config_Server配置 1、config_server依赖 2、在启动类上添加@EnableConfigServer 3、application.yml文件配置如下 spring: appli...

weixin_42880943的博客 394

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

springboot2 springcloud Greenwich.SR3 构建微服务--4.统一配置中心

新建完product 和 order 项目就会发现, 里面有很多的配置是重复的了. (order 和 product 还没有分库, 这个暂时没有做, 记住就行了, 暂时不这么做) 现在我们需要做的就是做一个服务专门提供各个服务的配置文件, 进行所有项目配置文件的统一管理, 更新. 新建一个叫做config-server 的项目,作为配置中心的服务端 (注意先把你本地的rabbitMQ启动了)...

长河的博客 2589

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

AI技术领袖动向背后的技术判断与工程实践思考

在人工智能领域,技术判断和工程实践是开发者需要掌握的核心能力。从技术原理来看,深度学习、计算机视觉等基础概念构成了AI技术的基石,而梯度下降、注意力机制等算法原理则是模型训练的关键。这些技术的价值在于能够帮助开发者建立可靠的学习路径和工程实践框架,比如通过CS231n这样的系统化课程掌握从理论到项目的完整知识体系。在实际应用场景中,开发者需要平衡技术先进性和工程可维护性,避免过度追逐热点而忽视基础积累。以Karpathy倡导的务实工程态度为例,强调简单模型优先、代码可调试性等原则,这种从'关注人'到'关注方

weixin_33802505的博客 356

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

CMSIS-FreeRTOS静态审计:工业级RTOS落地的底层逻辑与认证实践

CMSIS-FreeRTOS是ARM官方定义的RTOS抽象层标准,本质是CMSIS-RTOS v2 API与FreeRTOS内核之间的安全绑定契约。其核心原理在于三层解耦架构——底层FreeRTOS内核提供可移植调度能力,中间层CMSIS-RTOS v2实现类型安全的统一接口,顶层Binding层完成静态内存映射与编译器特性适配。该设计赋予系统确定性执行、零动态分配、中断优先级可控等关键技术价值,广泛应用于医疗电子(IEC 62304)、汽车电子(ASIL-B)及工业控制等高可靠场景。然而,真实工程落地高度

weixin_34199335的博客 336

Spring Cloud服务发现之Eureka

Java版本:1.8 Spring版本:5.1.8.RELEASE Spring Boot版本:2.1.6.RELEASE Spring Cloud版本:Greenwich.SR1 Eureka Server <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.or...

怀揣梦想,努力前行 398

.NET上位机开发中BOOL与BIT的语义对齐原理与实践

在工业自动化通信中,'BOOL'与'BIT'常被混用,但二者本质不同:BOOL是编程语言中的逻辑类型,BIT是PLC地址空间中的物理位地址。其差异源于数据语义层的错位——PLC的BOOL实为地址寻址约定(如DBX0.0),而.NET的bool仅表示非零/零的字节值,不携带位位置信息。这种错位导致Modbus线圈读取失真、S7协议状态反向、写操作位偏移等高频问题。技术价值在于建立可复用的位级操作范式,通过显式bit序(LSB first)、字节偏移与位索引协同,实现跨协议(S7、Modbus、MC)的可靠映射

weixin_33980459的博客 236

spring cloud - config 属性自动刷新

启动config-server,启动成功后就不需要在管了; 在config-client做些修改: 在使用的controller或service的类上加上一个注解@RefreshScope 在pom中加入依赖: <dependency> <groupId>org.springframework.boot</groupI...

weixin_30687811的博客 83

spring cloud微服务分布式云架构-config配置自动刷新

本项目采用版本选择: springboot的版本是2.1.2.RELEASE springcloud的版本是Greenwich.SR1 springcloud仓库使用的是Gitee 1、下载并安装RabbitMq 下载地址:http:/ /www.rabbitmq.com/download.html 2、SpringCloud Config Server端配置 config-server pom....

springML的博客 351

spring cloud bus Server Refresh 过程

spring cloud bus Server Refresh 过程 Bus Server 启动过程 容器启动时,创建 类型为 topic 的 Exchange , 名为 SpringCloudBus 并且创建监听 SpringCloudBus 绑定的匿名队列 spring cloud bus Server Refresh 当请求 /actuator/busrefresh/{serviceName}:** 端点时: RefreshBusEndpoint 发布 RefreshRemoteApplica

面朝大海,春暖花开 911

config-server-bus动态更新配置

config-server用来搭建配置中心,而配置信息一般使用gitlab仓库来存储,这样在你的配置发生改变时,不需要从新打包,而如果使用native的试,则需要从新打一个config-server的jar包。 配置的热更新 当你的服务的配置信息发生改变时,一般来说需要从新重启你的服务,配置信息才能生效,这对于我们来说是不友好的,所以springcloud有一种消息总线的方式来实现配置信息的热更新,更你的服务不需要从新启动。 项目搭建 eureka-server <dependency>

m0_68064743的博客 1066

oracle server bus新手

1.数据库2.rcu 参考http://yiyiboy2010.iteye.com/blog/1629443  选择组件    对所有方案适用相同的口令: Kk12345673.Web logi     oracle主目录:G:\obs\Middleware\Oracle_Home4.soa**************************已卸载11版本*********************...

qq_25360695的博客 980

谈一下bea的Aqualogic server bus 2

现在SOA的实现IBM BEA ORACLE等都推出了自己的实现方式: 今天谈一下BEA的Aqualogic,改天再谈一下BEA的Mashup的应用,它主要是使用了portlet.  

Chris 188

RabbitMq与spring cloud bus整合serverConfig热加载及介绍

RabbitMq是一个消息队列的程序。。用来在各个应用之前相互通信。这里主要是给spring cloud集群做广播用的。 rabbitMq消费者-生产者模式。一端不停的写入信息,另一端可以读取和订阅队列中的信息。 安装好之后,启动服务即可。通过localhost:15672即可访问,默认有guest/guest密码。 安装需要先安装erlang这个平台,然后安装rabbit,最好每一步都...

lvhao2813的博客 857
上一篇: SpringCloud教程-消息总线Bus 客户端(client)刷新(SpringCloud版本Greenwich.SR4)
下一篇: git push代码出现push rejected错误
境里婆娑
境里婆娑 新星创作者: Java技术领域 新星创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄10年 1万+粉丝 300原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

境里婆娑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值