什么是 Spring 中的 Hystrix? [关闭]

Posted

技术标签:

【中文标题】什么是 Spring 中的 Hystrix? [关闭]【英文标题】:What is Hystrix in Spring? [closed] 【发布时间】:2017-01-13 22:42:02 【问题描述】:

有人可以向我解释一下 Hystrix 吗?我google了一下,还是不太清楚。

什么是 Hystrix? 我们为什么使用 Hystrix?

请提供一个 Hystrix 使用示例。

【问题讨论】:

也许这个问题太笼统了,但不知何故,这正是我这次作为谷歌访问者想知道的。我不能同意这些缺点。 【参考方案1】:

什么是hystrix?

Hystrix 是 Netflix 开发的一个库,是 Spring 通过Spring Cloud Netflix 项目的一部分。 Hystrix 是一个容错库,用作服务层中(不同级别)故障的策略。

我们为什么使用 Hystrix?

Hystrix 可用于您的应用程序依赖远程服务的情况。如果一个或多个远程服务出现故障,您可以在应用程序中使用circuit breaker 来处理这种情况。

简单来说:如何让一项服务继续运行——当它调用失败的外部服务时?

Hystrix 正在监视调用相关服务失败的方法。如果有这样一个失败的方法,它将打开电路,这意味着,它将调用转发到一个回退方法。如果服务恢复,它将关闭电路,应用程序将再次按预期运行。

有关更多背景信息,请参阅此great article。

【讨论】:

每个人都告诉 OP“只用谷歌搜索”的最大讽刺是,这个问题现在是 Hystrix 谷歌搜索结果中最热门的问题之一 :) 说得好@Ataraxia 我讨厌 SO 上的那种 cmets。 “只要用谷歌搜索” - 我做到了,这就是我在这里的原因...... 查看此博客,link。【参考方案2】:

什么是 Hystrix?

Hystrix 是一个延迟和容错库,旨在隔离对远程系统、服务和第 3 方库的访问点,停止级联故障并在故障不可避免的复杂分布式系统中实现弹性。

在分布式环境中,许多服务依赖项中的一些不可避免地会失败。 Hystrix 是一个库,它通过添加延迟容错和容错逻辑来帮助您控制这些分布式服务之间的交互。 Hystrix 通过隔离服务之间的访问点来做到这一点, 阻止它们之间的级联故障,并提供回退选项,所有这些都可以提高系统的整体弹性。

它有什么作用?

1) 延迟和容错 停止级联故障。回退和优雅降级。失败快,恢复快。使用断路器进行线程和信号量隔离。

2) 实时操作 实时监控和配置更改。观察服务和属性更改在整个车队中立即生效。在几秒钟内获得警报、做出决策、影响更改并查看结果。

3) 并发 并行执行。并发感知请求缓存。通过请求折叠自动批处理。

hystrix的一些主要实现都用到了

断路器

本指南将引导您完成使用 Netflix Hystrix 容错库将断路器应用于可能失败的方法调用的过程。

Hystrix 仪表板

Hystrix Dashboard 允许您实时监控 Hystrix 指标。

有关 hystrix 的更多信息,请访问https://github.com/Netflix/Hystrix/wiki/How-To-Use

有关 hystrix 仪表板的更多信息,请访问https://github.com/Netflix/Hystrix/wiki/Dashboard

【讨论】:

如果有人觉得这不是有用的答案,您能否评论一下该答案出了什么问题。欢迎提出建议。

以上是关于什么是 Spring 中的 Hystrix? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 中的 Hystrix 仪表板问题

Spring Cloud微服务架构学习-4

Spring Cloud Gateway 中的 Hystrix 命令

Spring cloud Hystrix

spring cloud 学习 - hystrix 服务熔断处理

javanica中的Hystrix异步方法不在spring-boot java应用程序中运行