SpringCloud訊息匯流排Bus配置中心實現過程解析
介紹和使用場景
1)什麼是訊息
一個事件,需要廣播或者單獨傳遞給某個介面
2)為什麼使用這個
配置更新了,但是其他系統不知道是否更新
SpringCloud配置中心可參考:
https://www.jb51.net/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
建議:
動態重新整理配置,在開發和測試環境使用,儘量少在生產環境使用
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。