Spring env,我是不是仍应在新项目中使用 Hystrix
Posted
技术标签:
【中文标题】Spring env,我是不是仍应在新项目中使用 Hystrix【英文标题】:Spring env, should I still use Hystrix on new projectSpring env,我是否仍应在新项目中使用 Hystrix 【发布时间】:2020-09-03 22:27:12 【问题描述】:似乎 hystrix 已接近生命尽头,而 netflix 堆栈现在有点过时了。 我们正在为一个全新的项目构建一个堆栈,我们需要一个断路器,我们的默认选择是 hystrix,因为它是众所周知的并且受到团队的赞赏。
今天hystrix已经完全集成到spring cloud了,有没有计划尽快移除呢?
【问题讨论】:
Resilience4j 是不错的选择。它还与 Spring Boot 很好地集成在一起。这是示例源代码的链接 - github.com/greenlearner01/resilience4j Hystrix 不会收到任何更新,因为它现在已切换到仅维护模式。改用 Resiliense4j 【参考方案1】:Hystrix 不兼容 SpringBoot Greenwich RS6 以上版本。过滤器和后备方法已被弃用,不再起作用。 Hystrix 绝对不是选择。
【讨论】:
【参考方案2】:绝对不是。 Spring Cloud Hystrix 位于 maintenance mode 中,从 2020.0.0 发布系列开始将不再可用(this commit 已删除支持)。 Resilience4J 是一个很好的替代品。
【讨论】:
【参考方案3】:Spring Cloud Circuit breaker 提供跨不同断路器实现的抽象。它提供了在您的应用程序中使用的一致 API,让您开发人员可以选择最适合您的应用程序需求的断路器实现。
支持的实现
Netfix Hystrix
Resilience4J
哨兵
春季重试使用它的主要好处是您可以选择不同的断路器库。从一个痛点迁移到另一个痛点更少。
official website 上有很好的文档和示例代码
【讨论】:
【参考方案4】:Resilience4j 是受 Hystrix(来自 Netflix)启发的断路器。 您可以在他们的网页或github 上阅读有关该项目的更多信息,但简而言之:
Resilience4j 是一个轻量级、易于使用的容错库,其灵感来自 Netflix Hystrix,但专为 Java 8 和函数式编程而设计。
他们也有一个 getting-started 用于 spring-cloud =)
编辑:重写第一句话更不用说它来自 Netflix,因为我不确定 =)
【讨论】:
是 Netflix 的 reslience4j 吗?对此有任何参考吗? 不知道这是一个 netflix 项目! 乍一看,我会说是的......但我可能会在找到参考/来源后立即更新答案。但是您可以在 Hystrix github 页面上清楚地看到他们正在使用并推荐resilience4j
用于新项目。
Hystrix 已经存在很长时间了,并启发了许多断路器库。 Resilience4j 就是其中之一,具有许多改进和新功能。
感谢您的提醒...相应地更新了我的答案。以上是关于Spring env,我是不是仍应在新项目中使用 Hystrix的主要内容,如果未能解决你的问题,请参考以下文章