1、首先创建hystrix模块
主启动类关键代码:
@SpringBootApplication
//开启视图
@EnableHystrixDashboard
public class HystrixBoardApp {
public static void main(String[] args) {
SpringApplication.run(HystrixBoardApp.class);
}
}
application.yml代码
spring:
application:
name: hystrix-board
server:
port: 10001
pom文件:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
</dependencies>
2、在eureka-consumer-feign客户端的主启动类中需要添加的代码
注解:
//开启Hystrix用于被监控
@EnableHystrix
//开启Hystrix视图
@EnableHystrixDashboard
添加bean:
@Bean
public ServletRegistrationBean getServlet(){
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.addUrlMappings("/hystrix.stream");
registrationBean.setName("/HystrixMetricsStreamServlet");
return registrationBean;
}
pom文件中需要添加:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<!-- 健康监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
配置完毕
3、在浏览器访问:http://localhost:9104/hystrix.stream
其中9104为eureka-consumer-feign客户端的端口号
再访问其中的方法 http://localhost:9104/hello
再访问可视化界面 http://localhost:10001/hystrix