SpringCloud Bus消息总线

目录

是什么?

如何使用?

Docker安装RabbitMQ

SpringCloud Bus动态刷新全局广播

SpringCloud Bus动态刷新定点通知

是什么?

SpringCloud Bus是用来将分布式系统的节点与轻量级系统链接起来的一个框架,它整合了Java的事件处理机制和消息中间件的功能,SpringCloud Bus能管理和传播分布式系统间的消息,就像一个分布式执行器,可用于广播状态更改、事件推送等,也可以当作微服务间的通信通道

SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新,Bus支持两种消息代理:RabbitMQ和Kafka

如何使用?

Docker安装RabbitMQ

在Linux的docker里拉取RabbitMQ镜像docker pull rabbitmq:3.8.3-management(management是带web的管理界面)

[root@iZbp12fj4dxm8z5uofcvshZ ~]# docker pull rabbitmq:3.8.3-management
3.8.3-management: Pulling from library/rabbitmq
23884877105a: Pull complete 
bc38caa0f5b9: Pull complete 
2910811b6c42: Pull complete 
36505266dcc6: Pull complete 
15c38f93e1dd: Pull complete 
3d3f9ad120a1: Pull complete 
5b6fe3271410: Pull complete 
f19a60139bb3: Pull complete 
6473f260fa7d: Pull complete 
c6bfc255d245: Pull complete 
ab9457e6d377: Pull complete 
6b744fa5d23e: Pull complete 
Digest: sha256:2895b23e08cd7fa0615d39147c1746908b0cb8064e9fbbf7770619651b501814
Status: Downloaded newer image for rabbitmq:3.8.3-management
docker.io/library/rabbitmq:3.8.3-management

如果报了下面的错误

[root@iZbp12fj4dxm8z5uofcvshZ ~]# docker pull ribbitmq:3.8.3-management
Error response from daemon: pull access denied for ribbitmq, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

注册一个账号,登录即可

运行RibbitMQ,注意:15672是web端访问可视化界面时使用的端口

[root@iZbp12fj4dxm8z5uofcvshZ ~]# docker images
REPOSITORY   TAG                IMAGE ID       CREATED         SIZE
docker-web   latest             83e2b1e93d3d   12 days ago     661MB
to
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Cloud Bus是一个用于在分布式系统中传播状态变化的消息总线。它基于Spring Cloud Stream和Spring Cloud Config构建,可以将消息广播到整个系统中的所有服务实例。通过使用Spring Cloud Bus,可以实现配置的动态刷新、事件的传播和集群中的状态同步。 下面是使用Spring Cloud Bus自定义消息总线的步骤: 1. 添加依赖:在项目的pom.xml文件中添加Spring Cloud Bus的依赖: ```xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> ``` 2. 配置消息代理:在应用的配置文件中配置消息代理,例如使用RabbitMQ作为消息代理: ```yaml spring: rabbitmq: host: localhost port: 5672 username: guest password: guest ``` 3. 发送自定义消息:在需要发送自定义消息的地方,使用Spring Cloud Bus提供的API发送消息。例如,可以使用`/actuator/bus-refresh`端点发送刷新配置的消息: ```shell curl -X POST http://localhost:8080/actuator/bus-refresh ``` 4. 接收自定义消息:在需要接收自定义消息的地方,使用Spring Cloud Bus提供的注解和监听器来接收消息。例如,可以使用`@RefreshScope`注解来刷新配置: ```java @RefreshScope @RestController public class ConfigController { // ... } ``` 通过以上步骤,您可以使用Spring Cloud Bus自定义消息总线来实现配置的动态刷新、事件的传播和集群中的状态同步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小馒头爱学Java

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

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

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

打赏作者

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

抵扣说明:

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

余额充值