三大概念: 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; } }