Springcloud Bus消息总线

本文详细介绍了SpringCloud Bus的概念、作用和设计思想,特别强调了利用消息总线通过服务端ConfigServer刷新所有客户端配置的场景。同时,文章详细阐述了RabbitMQ环境的配置步骤,包括Erlang的下载安装和环境变量设置,以及RabbitMQ的安装。接着,文章通过新建微服务并配置RabbitMQ,展示了如何实现SpringCloud Bus动态刷新全局广播,并测试了配置刷新的效果。最后,文章提及了SpringCloud Bus动态定点通知的实现方法,允许精确控制配置更新的目标微服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、概述

1.1、Springcloud Bus 概念

1.2、Springcloud Bus 作用

1.3、总线

1.4、设计思想

1.4.1、利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置

1.4.2、利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,刷新所有客户端的配置

1.4.3、通常采用第二种设计思想 

2、RabbitMQ 环境配置

2.1、下载安装Erlang

2.1.1、下载地址 :Downloads - Erlang/OTP

2.1.2、安装

2.1.3、将Erlang添加至环境变量中

2.1.4、测试

2.2、安装RabbitMQ

3、SpringCloud Bus动态刷新全局广播

3.1、配置好RabbitMQ环境

3.2、新建微服务

3.2.1、服务端 

3.2.2、客户端

3.3、给配置中心服务端添加消息总线支持

3.3.1、修改POM文件

3.3.2、修改yaml配置文件

3.4、给配置中心客户端添加消息总线支持

3.4.1、修改POM文件

3.4.2、修改yaml配置文件

3.5、测试

4、SpringCloud Bus动态定点通知

4.1、需求具体说明

4.2、操作方法


1、概述

1.1、Springcloud Bus 概念

1)SpringCloud Bus 是用来将分布式系统的节点与轻量级消息系统链接起来的框架

2)SpringCloud Bus 整合了 Java 的事件处理机制和消息中间件的功能

3)SpringCloud Bus 目前支持RabbitMQ和Kafka

1.2、Springcloud Bus 作用

1)SpringCloud Bus 能管理和传播分布式系统间的消息,类似一个分布式执行器。

2)SpringCloud Bus 可用于广播状态更改、事件推送以及微服务间的通信通道。

1.3、总线

  • 在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个公用的消息主题。
  • 将系统中的所有微服务实例都连接至消息主题中。
  • 由于该消息主题中产生的消息会被所有实例监听和消费,所以称为消息总线。
  • 总线上的各个实例,都可以方便地广播一些需要让其他链接在该主题行的实例都知道的消息。

1.4、设计思想

1.4.1、利用消息总线触发一个客户端/bus/refresh,而刷新所有客户端的配置

 

1.4.2、利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,刷新所有客户端的配置

1.4.3、通常采用第二种设计思想 

  • 第一种打破了微服务的职责单一性,因为微服务本身是业务模块,不应该承担配置刷新的职责
  • 第一种打破了微服务各个节点的对等性。
  • 第一种有一定的局限性:
    • 微服务在迁移时,其网络地址常常会发生变化,想要做到自动刷新,会增加更多的修改

2、RabbitMQ 环境配置

2.1、下载安装Erlang

2.1.1、下载地址 :Downloads - Erlang/OTP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值