Hystrix熔断-Rest、Feign两种方式

Hystrix使用(RestTemplate)

1、引入hystrix依赖 
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
	</dependency>
2、启动类:@EnableCircuitBreaker(@EnableHystrix均可)
3、@HystrixCommand(fallbackMethod = "sendFail")
4、fallback的请求参数和 返回参数 要和原方法一致。

commandProperties

@HystrixProperty(name = "fallback.enabled",value = "false")  //默认true

execution.isolation.strategy:隔离策略,默认为Thread

HystrixCommandProperties【统计相关、熔断器相关、信号量相关、其他】

Hystrix使用(Feign)

feign自带Hystrix,但是默认没有打开,首先打开Hystrix。(从Spring Cloud Dalston开始,feign的Hystrix 默认关闭,如果要用feign,必须开启)

feign:
  hystrix:
    enabled: true 
@FeignClient(name = "service-name",fallback = SmsClientFallback.class)
public class ClientFallback implements ServerClient 
@EnableFeignClients
@EnableCircuitBreaker

捕获熔断异常信息

restTemplate:
在fallback方法参数加上Throwable,获取throwable
Feign:
1、@FeignClient(name = “service-sms”,fallbackFactory = SmsClientFallbackFactory.class)
2、实现FallbackFactory

忽略异常

不走备用逻辑
1、继承HystrixBadRequestException
2、属性配置 @HystrixCommand(fallbackMethod = “sendFail”,
ignoreExceptions = {HystrixIgnoreException.class})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值