1. 程式人生 > 實用技巧 >SpringCloud之Hystrix叢集監控turbine儀表盤

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