1.导入依赖
2.添加注解
在方法上或者Controller中的路径上添加注解@HystrixCommand(fallbackMethod = “dept_TimeoutHandler”)
3.激活熔断器功能
@SpringBootApplication@EnableEurekaClient //开启 Eureka 客户端功能@EnableCircuitBreaker //激活熔断器功能<---------public class MicroServiceCloudProviderDeptHystrix8004Application { public static void main(String[] args) { SpringApplication.run(MicroServiceCloudProviderDeptHystrix8004Application.class, args); }}
降级--------
1.配置
feign: hystrix: enabled: true #开启客户端 hystrix
2.降级
@Component@FeignClient(value = "MICROSERVICECLOUDPROVIDERDEPTHYSTRIX", fallback = DeptHystrixFallBackService.class)public interface DeptHystrixService { @RequestMapping(value = "/dept/hystrix/ok/{id}") public String deptInfo_Ok(@PathVariable("id") Integer id); @RequestMapping(value = "/dept/hystrix/timeout/{id}") public String deptInfo_Timeout(@PathVariable("id") Integer id);}
Dashboard流监控
1,依赖
2.开启注解
@EnablehystrixDashboard
3.增加一个Servlet
@Bean public ServletRegistrationBean getServlet() { HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet(); ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet); registrationBean.setLoadOnStartup(1); registrationBean.addUrlMappings("/actuator/hystrix.stream");//访问路径 registrationBean.setName("hystrix.stream"); return registrationBean; }
监控依赖
spring-cloud-start-actuator