一 、 Панель управления Hystrix
эффект:
- Мониторинг в реальном времени различных значений индикаторов каждой команды Hystrix
- Динамически изменять различные конфигурации посредством мониторинга панелей мониторинга в реальном времени.
панель приборов:
2. Запустите панель управления Hystrix.
1 、 下载 автономный-hystrix-dashboard-1.5.3-all.jar
- Адрес загрузки: https://search.maven.org/search , введите в поле запрос standalone-hystrix-dashboard, а затем загрузите.
2. Запустите панель управления Hystrix.
java -jar -DserverPort = 7979 -DbindAddress = localhost автономный-hystrix-dashboard-1.5.3-all.jar
Примечание: serverPort и bindAddress являются необязательными параметрами, если они не добавлены, по умолчанию используется 7979 и localhost.
3. Проверяем, успешен ли запуск
- Введите http: // localhost: 7979 / hystrix-dashboard / в браузере, и страница с медведем верна.
Три, код
1 、 pom.xml
<!-- https://mvnrepository.com/artifact/com.netflix.hystrix/hystrix-core -->
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-core</artifactId>
<version>${
hystrix-version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.netflix.hystrix/hystrix-javanica -->
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-javanica</artifactId>
<version>${
hystrix-version}</version>
</dependency>
<!-- http://mvnrepository.com/artifact/com.netflix.hystrix/hystrix-metrics-event-stream -->
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-metrics-event-stream</artifactId>
<version>${
hystrix-version}</version>
</dependency>
Описание:
- hystrix-core: пакет интерфейса ядра Hystrix.
- hystrix-metrics-event-stream: пока клиент все еще подключен, hystrix-metrics-event-stream будет постоянно отправлять результаты подсчета клиенту в форме текста / потока событий.
2 、 HystrixConfig.java
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
import com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect;
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;
@Configuration
public class HystrixConfig {
@Bean
@HystrixProperty(name = "circuitBreaker.enabled", value = "true")
public HystrixCommandAspect hystrixCommandAspect() {
return new HystrixCommandAspect();
}
/**
* Send stream message to Hystrix-dashboard
*/
@Bean
public ServletRegistrationBean hystrixMetricsStreamServlet() {
ServletRegistrationBean registrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
registrationBean.addUrlMappings("/hystrix.stream");
return registrationBean;
}
}
3. Код контроллера
- Ссылка на исходный код github: https://github.com/fomeiherz/spring-boot-hystrix-example
4. Протестируйте
браузер, посетив http: // localhost: 7979 / hystrix-dashboard / , введите адрес мониторинга приложения spring -boot в консоли.
Примечание. После запуска службы введите http: // localhost: 8080 / hystrix.stream , затем нажмите «Добавить поток» и, наконец, нажмите «Мониторинг потока».
Описание:
- hystrix2 / test1-commandKey (по умолчанию это имя метода, которое может быть указано атрибутом commandKey в @HystrixCommand. Его необходимо указать, если есть два метода с одинаковым именем )
- HystrixController2-ThreadPoolKey (имя класса по умолчанию может быть указано атрибутом threadPoolKey в @HystrixCommand)