springcloud+bus消息總線+rabbitmq

啓動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
 

4、訪問驗證 post方式:

http://localhost:{port}/actuator/bus-refresh

5、rabbitmq 添加用戶springcloud

rabbitmq

報錯: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:

解決:

可以看到新添加的admin這個用戶 有一個“No access” 提示

 修改權限,點擊Set permission,ok

在這裏插入圖片描述

原理分析:

原理分析

主要是通過消息總線的方式,將其中一個實例的更新請求/bus/refresh,傳遞給其他實例,達到同時刷新的目的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章