SpringCloud消息总线Bus配置中心实现过程解析

介绍和使用场景

1)什么是消息

一个事件,需要广播或者单独传递给某个接口

2)为什么使用这个

配置更新了,但是其他系统不知道是否更新

SpringCloud配置中心可参考:

https://www.nhooo.com/article/182888.htm

1.安装RabbitMQ

下载地址:

http://erlang.org/download/

Erlang版本:Erlang OTP 21:10.0.1

下载地址:

https://www.rabbitmq.com/install-windows.html

RabbitMQ版本:Rabbitmq: 3.7.15

2.访问地址

http://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

http://127.0.0.1:8771/api/v1/product/find?id=1

http://127.0.0.1:8772/api/v1/product/find?id=1

建议:

动态刷新配置,在开发和测试环境使用,尽量少在生产环境使用

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。