当一个服务端的业务响应的时间过长的时候或者业务处理逻辑处理异常,不应该等待,应该给出一种处理方法
超时导致服务器变慢(转圈) --->超时不再等待
出错(宕机或程序运行出错) --->出错要有兜底
pom文件依赖 :
<!--hystrix--> <dependency> <groupId>org.springframework.cloud</groupId> <art有80服务调用8001端口的业务,但8001端口的服务突然出现宕机;80端口使用feign处理8001端口的调用@Component @FeignClient(value = "CLOUD-PROVIDER-HYSTRIX-PAYMENT", fallback = PaymentFallbackService.class) public interface PaymentHystrixService { @GetMapping("/payment/hystrix/ok/{id}") String paymentInfo_OK(@PathVariable("id") Integer id); @GetMapping("/payment/hystrix/timeout/{id}") String paymentInfo_TimeOut(@PathVariable("id") Integer id); }@FeignClient(value = "CLOUD-PROVIDER-HYSTRIX-PAYMENT",
fallback = PaymentFallbackService.class)
value:是8001端口的服务名称
fallback :是该接口的实现类,也就是在80端口调用8001端口服务发生错误的时候需要进行的方法
@Component //必须加 //必须加 //必须加 public class PaymentFallbackService implements PaymentHystrixService { @Override public String paymentInfo_OK(Integer id) { return "服务调用失败,提示来自:cloud-consumer-feign-order80"; } @Override public String paymentInfo_TimeOut(Integer id) { return "服务调用失败,提示来自:cloud-consumer-feign-order80"; } }补充 :
说明:现在有80端口控制类调用了8001端口业务处理类,但在8001端口这个服务也设置了服务降级,假设为5s超时处理,而80这边设置的服务降级为3s超时处理,现在业务响如果超过了3s,那么应该响应的是80端口这边的服务降级处理
到此这篇关于hystrix服务降级方法使用介绍的文章就介绍到这了,更多相关hystrix服务降级内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
海报
0 条评论
64
相关文章
本站已关闭游客评论,请登录或者注册后再评论吧~