啟動rabbitmq:
docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:management
rabbitmq預設是5672,是以改為5672端口
1、config-client加入依賴
<!--配置中心結合消息隊列-->
<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>
2、配置檔案yml
暴露全部的監控資訊
management:
endpoints:
web:
exposure:
include: "*"
#服務的名稱
spring:
rabbitmq:
host: 192.168.1.220
port: 5672
username: springcloud
password: springcloud
3、需要重新整理配置的地方,增加注解
@RefreshScope
3、需要重新整理配置的地方,增加注解 @RefreshScope
4、通路驗證 post方式:
4、通路驗證 post方式:
http://localhost:{port}/actuator/bus-refresh
5、rabbitmq 添加使用者springcloud
報錯:org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
Caused by: java.net.ConnectException: Connection refused: connect
解決:注意springboot服務配置的rabbitmq端口為5672
報錯:Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method:
解決:
修改權限,點選Set permission,ok
原理分析:
主要是通過消息總線的方式,将其中一個執行個體的更新請求
/bus/refresh
,傳遞給其他執行個體,達到同時重新整理的目的