如何解决春季重试vs Hystrix
@CircuitBreaker
的{{1}}和spring-retry
的{{1}}有什么区别?
他们似乎都实现了断路器模式。
Spring官方指南正在使用@HystrixCommand
:https://spring.io/guides/gs/circuit-breaker/
在他们的示例中:
spring-cloud-starter-netflix-hystrix
(据我所知)相当于:
@HystrixCommand
解决方法
-
@CircuitBreaker
- 不确定它是否是实际注释。 AFAIK,事实并非如此。 -
spring-retry
-@Retryable
是用于实现此目的的注释。这基本上是根据特定条件重试当前方法执行指定的次数。 -
@HystrixCommand
- 该注解实际上会在方法执行时触发断路器功能。
有效差异-
-
@Retryable
与断路器无关。即使结果每次都失败,它也会盲目地重试操作。它在当前请求的本地上下文上运行。这意味着它不知道系统上重试的全局状态。它所关心的只是每个请求都必须重试多次。 -
@HystrixCommand
是一个智能注释。它知道系统的全局状态,如果失败次数超过指定的断路器阈值,它实际上会停止执行该方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。