Feign和Ribbon使用熔断器仪表盘监控依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
在application中增加@EnableHystrixDashboard注解 开启熔断器仪表盘监控 (feign)
package com.lxq.hello.spring.cloud.web.admin.feign;
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;
import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* @Author Lxq
* @Date 2020/3/29 13:54
* @Version 1.0
*/
@EnableHystrixDashboard
@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class WebAdminFeignApplication {
public static void main(String[] args) {
SpringApplication.run(WebAdminFeignApplication.class, args);
}
}
创建 hystrix.stream 的 Servlet 配置
Spring Boot 2.x 版本开启 Hystrix Dashboard 与 Spring Boot 1.x 的方式略有不同,需要增加一个 HystrixMetricsStreamServlet 的配置
创建config文件夹在其文件夹下创建HystrixDashboardConfiguration 类(配置类)
package com.lxq.hello.spring.cloud.web.admin.feign.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;
/**
* @Author Lxq
* @Date 2020/3/29 14:27
* @Version 1.0
*/
@Configuration
public class HystrixDashboardConfiguration {
@Bean
public ServletRegistrationBean getServlet(){
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.setLoadOnStartup(1); //开机自启(加载顺序)
registrationBean.addUrlMappings("/hystrix.stream"); //配置servlet的访问路径
registrationBean.setName("HystrixMetricsStreamServlet"); //servlet的名称
return registrationBean;
}
}
测试
访问http://localhost:8765/hystrix
输入 http://localhost:8765/hystrix.stream