SpringCloud Bus如何配置消息总线及中心实现步骤详解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计861个文字,预计阅读时间需要4分钟。
介绍和使用场景:消息是一种事件,它表示一个操作或状态的变化。消息可以是一个简单的通知,也可以是复杂的业务数据。在分布式系统中,消息通常用于以下场景:
1. 广播:将消息发送给系统中的所有相关组件。
2.单独传递:将消息发送给特定的组件或接口。
为什么使用这个配置更新了:
1. 解耦:消息的使用使得生产者和消费者之间的依赖性降低,从而提高了系统的可维护性和可扩展性。
2.异步处理:消息传递允许异步处理,提高了系统的响应速度和吞吐量。
3.高可用性:消息队列通常具备高可用性,即使某些组件发生故障,也不会影响消息的传递和处理。
Spring Cloud 配置中心可参考:
https://www.jb51.com/article/184948.htm介绍和使用场景
1)什么是消息
一个事件,需要广播或者单独传递给某个接口
2)为什么使用这个
配置更新了,但是其他系统不知道是否更新
SpringCloud配置中心可参考:
www.jb51.net/article/182888.htm
1.安装RabbitMQ
下载地址:
erlang.org/download/
Erlang版本:Erlang OTP 21:10.0.1
下载地址:
www.rabbitmq.com/install-windows.html
RabbitMQ版本:Rabbitmq: 3.7.15
2.访问地址
127.0.0.1:15672/
用户名:guest
密码:guest
3.添加依赖
例如:
商品服务添加下面依赖,配置中心服务不用加
<!-- bus,rabbitmq --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>
4.修改Controller
添加@RefreshScope注解
@RestController @RequestMapping("/api/v1/product") @RefreshScope public class ProductController { @Value("${server.port}") private String port; //这是自己加的配置 @Value("${env}") private String env; @RequestMapping("/list") public Object getAllList() { String msg = "data from port: " + port + ",env: " + env); return ; } }
5.添加项目中的bootstrap..yml配置
spring: #添加RabbitMQ配置 rabbitmq: host: localhost port: 5672 username: guest password: guest #暴露全部的监控信息 management: endpoints: web: exposure: include: "*"
6.启动项目后,修改git中的yml配置env,再用Postman调用下面接口
步骤:
修改git的application.yml配置
1)修改端口号为:8771,启动项目
)修改端口号为:8772,启动项目
修改env为:test1234
注意:
使用SpringCloud配置中心后,在idea中修改配置-Dserver.port=8772启动项目是不生效的
7.访问接口,查看返回的env是否改变,evn值均变为test123456
127.0.0.1:8771/api/v1/product/find?id=1
127.0.0.1:8772/api/v1/product/find?id=1
建议:
动态刷新配置,在开发和测试环境使用,尽量少在生产环境使用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计861个文字,预计阅读时间需要4分钟。
介绍和使用场景:消息是一种事件,它表示一个操作或状态的变化。消息可以是一个简单的通知,也可以是复杂的业务数据。在分布式系统中,消息通常用于以下场景:
1. 广播:将消息发送给系统中的所有相关组件。
2.单独传递:将消息发送给特定的组件或接口。
为什么使用这个配置更新了:
1. 解耦:消息的使用使得生产者和消费者之间的依赖性降低,从而提高了系统的可维护性和可扩展性。
2.异步处理:消息传递允许异步处理,提高了系统的响应速度和吞吐量。
3.高可用性:消息队列通常具备高可用性,即使某些组件发生故障,也不会影响消息的传递和处理。
Spring Cloud 配置中心可参考:
https://www.jb51.com/article/184948.htm介绍和使用场景
1)什么是消息
一个事件,需要广播或者单独传递给某个接口
2)为什么使用这个
配置更新了,但是其他系统不知道是否更新
SpringCloud配置中心可参考:
www.jb51.net/article/182888.htm
1.安装RabbitMQ
下载地址:
erlang.org/download/
Erlang版本:Erlang OTP 21:10.0.1
下载地址:
www.rabbitmq.com/install-windows.html
RabbitMQ版本:Rabbitmq: 3.7.15
2.访问地址
127.0.0.1:15672/
用户名:guest
密码:guest
3.添加依赖
例如:
商品服务添加下面依赖,配置中心服务不用加
<!-- bus,rabbitmq --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>
4.修改Controller
添加@RefreshScope注解
@RestController @RequestMapping("/api/v1/product") @RefreshScope public class ProductController { @Value("${server.port}") private String port; //这是自己加的配置 @Value("${env}") private String env; @RequestMapping("/list") public Object getAllList() { String msg = "data from port: " + port + ",env: " + env); return ; } }
5.添加项目中的bootstrap..yml配置
spring: #添加RabbitMQ配置 rabbitmq: host: localhost port: 5672 username: guest password: guest #暴露全部的监控信息 management: endpoints: web: exposure: include: "*"
6.启动项目后,修改git中的yml配置env,再用Postman调用下面接口
步骤:
修改git的application.yml配置
1)修改端口号为:8771,启动项目
)修改端口号为:8772,启动项目
修改env为:test1234
注意:
使用SpringCloud配置中心后,在idea中修改配置-Dserver.port=8772启动项目是不生效的
7.访问接口,查看返回的env是否改变,evn值均变为test123456
127.0.0.1:8771/api/v1/product/find?id=1
127.0.0.1:8772/api/v1/product/find?id=1
建议:
动态刷新配置,在开发和测试环境使用,尽量少在生产环境使用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

