如何解决使用 Spring Cloud Hysterix 重试
Cn 任何人请指导我如何在 Spring Cloud Eureka Hysterix 命令中进行重试,如下所示?另外默认情况下,Spring Cloud 会在调用方法的第一次失败时中断电路吗?
请指教。
@HystrixCommand(fallbackMethod="getDataFallBack" )
public ResponseEntity<CurrencyConversion> addConversionFactor(@RequestBody CurrencyConversion currencyConversion) throws Exception{
log.info("in addConversionFactor ... " + currencyConversion);
//some operations here
return ResponseEntity.ok(currencyConversion);
}
解决方法
Hystrix 充当断路器,不提供任何重试功能。由调用客户端来实现重试。借助 Spring Cloud,您可以使用 Spring Cloud Netflix @LoadBalanced
RestTemplate
(或 WebClient
)或直接使用 Spring Retry。
@HystrixCommand
上有几个不同的配置属性,用于控制断路器何时跳闸。此处提供了所有可用属性的完整概述:https://github.com/Netflix/Hystrix/wiki/Configuration。控制错误阈值的是circuitBreaker.errorThresholdPercentage。
另请注意,不推荐使用 Spring Cloud Hystrix。如果您要创建新应用程序,则应考虑改用 Spring Cloud Circuit Breaker。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。