Hystrix


三大概念:
1.服务熔断  fallback  服务降级,然后服务恢复后继续可以使用服务  注解@HystrixCommand
2.服务降级  break   客户端、服务端不能工作,给个友好提示  @HystrixCommand
3.服务限流   limit     不能超过某个限定请求指标
a导致服务降级的情况
程序运行异常
超时
熔断触发降级
线程池、信号量打满也会导致服务降级

熔断示意图:

@SpringBootApplication
@EnableEurekaClient
@EnableCircuitBreaker
public class PaymentHistrixMain8001 {
    public static void main(String[] args) {
        SpringApplication.run(PaymentHistrixMain8001.class, args);
    }


//由于版本问题被监控的服务端还得有这个Bean,才能完成监控
    @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;
    }
}