微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Spring Cloud Hysterix 重试

如何解决使用 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 举报,一经查实,本站将立刻删除。