开启hystrix:feign.hystrix.enabled=true时,多次feign调用时token里信息丢失问题

在微服务场景中,通常会有很多层的服务调用。如果一个底层服务出现问题,故障会被向上传播给用户。我们需要一种机制,当底层服务不可用时,可以阻断故障的传播。这就是断路器的作用。他是系统服务稳定性的最后一重保障。

在springcloud中断路器组件就是Hystrix。Hystrix也是Netflix套件的一部分。他的功能是,当对某个服务的调用在一定的时间内(默认10s,由metrics.rollingStats.timeInMilliseconds配置),有超过一定次数(默认20次,由circuitBreaker.requestVolumeThreshold参数配置)并且失败率超过一定值(默认50%,由circuitBreaker.errorThresholdPercentage配置),该服务的断路器会打开。

断路器会开辟一个线程池,线程里部分线程里request数据丢失;

导致带token调用服务失败,现把feign.hystrix.enabled=false,无论请求多少次,请求都正常;

有点疑问,断路器为啥不直接拒绝调用下一个服务接口,而是把请求里的请求头信息给清空,有待研究

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: feign.hystrix.enabled=true的意思是启用FeignHystrix支持。Hystrix是Netflix开源的一款容错框架,可以在分布式系统中提供服务的保护和控制。在Feign中启用Hystrix支持可以使得Feign客户端在调用服务具备容错能力,当服务出现故障或者超,可以通过Hystrix的机制进行降级或者熔断,从而保证系统的稳定性和可靠性。 ### 回答2: feign.hystrix.enabled=true 是一个开关,用于开启 FeignHystrix 的支持。在微服务架构中,如果一个服务调用另一个服务,那么就需要进行远程调用。在这个过程中,有可能会出现网络延迟、超、断开等问题,为了保证系统的稳定性和可靠性,就需要加入熔断器。 Hystrix 是 Netflix 开源的一个熔断器实现,它能够实现快速失败、降级、限流等功能,防止服务之间出现雪崩效应。在 Feign 中,开启 feign.hystrix.enabled=true 后,就可以使用注解来标识那些方法需要熔断和降级。 举个例子,我们可以在 Feign 客户端接口的方法上添加 @HystrixCommand 注解,来实现熔断和降级。当调用远程服务的过程中发生异常,可以通过自定义的 fallback 方法来返回假数据或者友好的错误提示,避免因为远程服务出现问题而导致整个系统崩溃。 总之,开启 feign.hystrix.enabled=true 可以为微服务架构中的远程调用提供更加稳定可靠的保障,增强系统的容错能力,提高可用性。 ### 回答3: feign.hystrix.enabled=true是一个Feign Client的属性值,用于开启Feign Client的断路器功能。 Feign Client是Spring Cloud中一个用于声明式HTTP客户端的组件,可以使得编写HTTP请求变得简单,并且易于维护。需要注意的是,Feign Client并不是一个真正的HTTP客户端,而是通过动态代理方式来生成接口实现类,使用该实现类进行HTTP请求。 而断路器是一种在分布式系统中常用的模式,它可以防止一个服务的故障引起整个系统的瘫痪。当某个服务故障或出现延迟,断路器将会暂改变服务的调用方式,直接返回一个预设的fallback结果,而不是让系统等待该服务的响应。 因此,将feign.hystrix.enabled属性设置为true,就可以开启Feign Client的断路器功能,从而在调用Feign Client,当该服务出现故障或者超等情况,不会阻塞整个系统,而是直接返回fallback结果,避免了局部故障造成的全局瘫痪。 总之,通过开启Feign Client的断路器功能,可以增强系统的健壮性和可靠性,并且防止服务的故障或者延迟带来的系统瘫痪。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值