SpringCloud之Hystrix叢集監控turbine儀表盤
1.引入
在前一節中我們演示了單機模式下Hystrix服務監控Dashboard儀表盤,但是在實際生產中微服務都是叢集模式,
為了更接近世界生產,我們在這裡也給大家講一下如何監控叢集模式
2.準備工作
既然我們要監控叢集模式,那麼首先我們保證服務提供者是處於叢集模式的,因此我們複製一個ticket-lock-provider-6004,
定義模組名稱為:ticket-lock-provider-6005,
改動點一:
application.yml檔案中的埠號改為6005,instance-id 改為 service-lock:6005 ,其他不變
改動點二:
啟動類名稱改為:TicketProviderApplication_6005
改動點三:
為了方便測試看從是那個服務提供者,在訊息中做埠號標記
特別注意:再次提醒一下,講課中我們是為了演示,所以總是複製相同的模組,但是實際中只需要將一個專案多部署幾個即可
3.構建hystrix-turbine-8081監控專案
pom.xml依賴包
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-turbine</artifactId> </dependency> </dependencies>
application.yml檔案
server: port: 8081 context-path: / # 客戶端負載均衡配置 eureka: client: register-with-eureka: false service-url: defaultZone: http://eureka7001.wfd360.com:7001/eureka/,http://eureka7002.wfd360.com:7002/eureka/,http://eureka7003.wfd360.com:7003/eureka/ # 應用名稱 spring: application: name: turbine # turbine配置 turbine: app-config: service-lock # 需要監控的應用名稱,這裡相當於是6004和 6005的應用名稱 clusterNameExpression: "'default'" # 叢集名字為default
啟動類:
package com.wfd360; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration; import org.springframework.cloud.netflix.turbine.EnableTurbine; /** * @author 姿勢帝-部落格園 * @address https://www.cnblogs.com/newAndHui/ * @WeChat 851298348 * @create 07/20 9:42 * @description */ @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) @EnableTurbine public class HystrixTurbineConsumer_8081 { public static void main(String[] args) { SpringApplication.run(HystrixTurbineConsumer_8081.class, args); } }View Code
4.測試
啟動eureka,服務提供者6004和6005,啟動服務消費者80,啟動服務監控Dashboard 8080 和 turbine 8081
關係圖:
當消費者80去呼叫 服務 6004或6005時, turbine 8081就能感知到(感知到的是請求資料,但是不能很好的顯示),繼而發給 dashboard 8080 進行顯示
訪問:http://localhost/ticket/list,看服務消費者是否正常
訪問:http://localhost:8081/turbine.stream, 看服務監控是否正常
訪問:http://localhost:8080/hystrix.stream 進入儀表盤,並將連結http://localhost:8081/turbine.stream放入儀表盤中進行監控
點選:Monitor Stream按鈕,結果如下
通過不斷測試服務消費者:http://localhost/lock/ticket/10,可以觀察圖中的曲線變化,
完美!
springCloud課程與程式碼下載:https://www.cnblogs.com/newAndHui/p/13210228.html