Руководство по автоматическому выключателю Hystrix Dashboard версии Spring Cloud 2.x

Spring Cloud

предисловие

В этой статье используется облако Spring. Это статья 2.1.8RELEASE, version=Greenwich.SR3.

Эта статья основана на реализации первых двух статей eureka-server, eureka-client, eureka-ribbon и eureka-feign. Ссылаться на

концепция

Hystrix Dashboard — это панель управления, предоставляемая Hystrix, которая может просматривать данные мониторинга Hystrix. Hystrix обеспечивает мониторинг данных практически в режиме реального времени.Hystrix будет записывать всю информацию о выполнении HystrixCommand в режиме реального времени и кумулятивно, включая количество запросов, выполняемых в секунду, количество успешных и количество сбоев.

Создайте проект Hystrix Dashboard

1.1 Создайте загрузочный проект sping: hysteric-dashboard

1.2 Добавьте зависимости, связанные с pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>

Приложение 1.3 добавляет информацию о конфигурации

spring:
  application:
    name: hystrix-dashboard
server:
  port: 8500

eureka:
  instance:
    hostname: localhost
    lease-renewal-interval-in-seconds: 5
    lease-expiration-duration-in-seconds: 10
  client:
    service-url:
      defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/

1.4 Добавьте аннотации к классу запуска HystrixDashboardApplication

package spring.cloud.demo.hystrixdashboard;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

@EnableHystrixDashboard
@EnableDiscoveryClient
@SpringBootApplication
public class HystrixDashboardApplication {

    public static void main(String[] args) {
        SpringApplication.run(HystrixDashboardApplication.class, args);
    }

}

@EnableHystrixDashboard: включение конфигурации автоматического выключателя Hystrix Dashboard, связанной с канбаном.

1.5 Запустите службу hystrix-dashboard

Откройте браузер и введите http://localhost:8500/hystrix, чтобы отобразить результат следующим образом:

file

Поле ввода URL: представляет потребителя услуг, который нужно отслеживать.

Single Hystrix App: https://hystrix-app:port/actuator/hystrix.stream: для отслеживания формата URL-адреса пути.

1.6 Служба мониторинга ленты

1.6.1 eureka-ribbon увеличивает конфигурацию Hystrix

package spring.cloud.demo.eurekaribbon.config;

import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @auther: maomao
 * @DateT: 2019-09-17
 */
@Configuration
public class HystrixConfig {

    @Bean
    public ServletRegistrationBean getServlet() {
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
        ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
        registrationBean.setLoadOnStartup(1);
        registrationBean.addUrlMappings("/hystrix.stream");
        registrationBean.setName("HystrixMetricsStreamServlet");
        return registrationBean;
    }
}

Запустите службы eureka-client и eureka-ribbon. Затем введите в поле URL-адрес панели управления приборной панели hystrix:

file

Нажав на Monitor Stream, вы увидите:

file

  • Невозможно подключиться к Command Metric Stream Причина проблемы: поскольку мы открываем контролируемый поток автоматического выключателя. Путь Hystrix Stream http://localhost:8901/hystrix.stream не является путем по умолчанию для весенней загрузки или путем по умолчанию для hystrix. , все нужно добавить Hystrixconfig Чтобы сформулировать сервлет потока индикатора автоматического выключателя.

  • Первая успешная страница запуска также может отображать загрузку, что означает, что доступ к сервису, который мы хотим отслеживать, еще не был выполнен, это означает, что мы можем увидеть данные индикатора, запросив доступ к сервису несколько раз.

Таким же образом я могу установить конфигурацию eureka-feign для просмотра.

Суммировать

В этой статье просто создается платформа мониторинга данных Hystrix Dashborad.

В настоящее время Hystrix прекратил разработку и находится на этапе обслуживания.Hystrix заявил на Github, что нам рекомендуется использовать Resilience4J. Простота и практичность Resilience4J будут обновлены в будущем.

кодовый адрес

адрес гитхаба


Каталог «Spring Cloud 2.X Xiaobai Tutorial»

Пожалуйста, укажите источник,

  • Контакт: 4272231@163.com