javascript
java监控rabbitMq服务状态,SpringCloud-Turbine【RabbitMQ服务监控】
前面我們介紹了通過turbine直接聚合多個(gè)服務(wù)的監(jiān)控信息,實(shí)現(xiàn)了服務(wù)的監(jiān)控,但是這種方式有個(gè)不太好的地方就是turbine和服務(wù)的耦合性太強(qiáng)了,針對(duì)這個(gè)問題,我們可以將服務(wù)的監(jiān)控消息發(fā)送到RabbitMQ中,然后turbine中RabbitMQ中獲取獲取監(jiān)控消息,這樣就實(shí)現(xiàn)類服務(wù)和turbine的解耦。
我們通過案例來演示下如何實(shí)現(xiàn)該效果
一、啟動(dòng)RabbitMQ服務(wù)
顯然我們需要安裝啟動(dòng)一個(gè)RabbitMQ服務(wù)
在這里插入圖片描述
二、創(chuàng)建consumer服務(wù)
創(chuàng)建一個(gè)consumer服務(wù),同時(shí)要將dashboard的監(jiān)控信息發(fā)送到RabbitMQ服務(wù)中。
1.創(chuàng)建項(xiàng)目
在這里插入圖片描述
2.添加依賴
此處的核心依賴如下,完整依賴參考git完整代碼
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-hystrix
1.3.2.RELEASE
org.springframework.cloud
spring-cloud-starter-hystrix-dashboard
org.springframework.cloud
spring-cloud-netflix-hystrix-stream
org.springframework.cloud
spring-cloud-starter-stream-rabbit
3.修改配置
添加對(duì)RabbitMQ的配置信息
spring.application.name=shop-product-consumer-hystrix-dashboard
server.port=9090
#設(shè)置服務(wù)注冊(cè)中心地址,指向另一個(gè)注冊(cè)中心
eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/
#Feign 默認(rèn)是不開啟 Hystrix 的。默認(rèn)為:false
feign.hystrix.enabled=true
spring.rabbitmq.host=192.168.88.150
spring.rabbitmq.port=5672
spring.rabbitmq.username=dpb
spring.rabbitmq.password=123
spring.rabbitmq.virtualHost=/
4.修改啟動(dòng)類
啟動(dòng)服務(wù),并訪問測(cè)試
@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
@EnableHystrix
@EnableHystrixDashboard
public class SpringcloudFeignProdcutConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudFeignProdcutConsumerApplication.class, args);
}
}
在這里插入圖片描述
在這里插入圖片描述
同時(shí)注意RabbitMQ的控制臺(tái)
在這里插入圖片描述
能夠看到是有變化的
三、創(chuàng)建turbine服務(wù)
1.創(chuàng)建項(xiàng)目
在這里插入圖片描述
2.添加依賴
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-starter-config
org.springframework.cloud
spring-cloud-starter-turbine-stream
org.springframework.cloud
spring-cloud-starter-stream-rabbit
3.修改配置
spring.application.name=shop-product-consumer-turbine
server.port=1002
#設(shè)置服務(wù)注冊(cè)中心地址,指向另一個(gè)注冊(cè)中心
eureka.client.serviceUrl.defaultZone=http://dpb:123456@eureka1:8761/eureka/,http://dpb:123456@eureka2:8761/eureka/
spring.rabbitmq.host=192.168.88.150
spring.rabbitmq.port=5672
spring.rabbitmq.username=dpb
spring.rabbitmq.password=123
spring.rabbitmq.virtualHost=/
4.啟動(dòng)類
注意注解
@SpringBootApplication
@EnableTurbineStream
public class SpringcloudFeignProdcutConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringcloudFeignProdcutConsumerApplication.class, args);
}
}
啟動(dòng)服務(wù)
在這里插入圖片描述
說明從RabbitMQ中獲取到了監(jiān)控?cái)?shù)據(jù)
四、創(chuàng)建dashboard可視服務(wù)
可視化的服務(wù)可以用之前創(chuàng)建的
在這里插入圖片描述
即可
在這里插入圖片描述
在這里插入圖片描述
看到了consumer的監(jiān)控?cái)?shù)據(jù),案例成功!
總結(jié)
以上是生活随笔為你收集整理的java监控rabbitMq服务状态,SpringCloud-Turbine【RabbitMQ服务监控】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java mvc中重复提交表单,spri
- 下一篇: windows下php swoole扩展