> For the complete documentation index, see [llms.txt](https://jun-wang.gitbook.io/learnjava/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jun-wang.gitbook.io/learnjava/ji-shu-xue-xi/spring/springcloud/springcloudhystrix.md).

# SpringCloudHystrix

Spring Cloud Hystrix

在微服务中，存在那么多的服务单元，若一个单元出现故障，就很容易因依赖关系而引发故障的蔓延，最终导致整个系统的瘫痪，为了解决这样的问题，产生了断路器等一系列的服务保护机制。在分布式架构中，当某个服务单元发生故障，通过断路器向调用方返回一个错误响应，而不是长时间的等待，这样就不会使得线程因调用故障服务被长时间占用不释放，避免了故障在分布式系统中的蔓延。

Spring Cloud Hystrix实现了断路器、线程隔离等一系列服务保护功能，该框架的目标在于通过控制那些访问远程系统、服务和第三方库的节点，从而对延迟和故障提供更强大的容错能力，Hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能。

自实验结果：

当多个服务提供时，有一个服务不可用，轮询调用到不可用服务时会返回一个指定的错误，等过一段时间Hystrix应该触发了熔断机制，就不会再调用不可用的服务节点了。

## 特性

* 服务降级
* 服务熔断
* 线程和信号隔离
* 请求缓存
* 请求合并
* 服务监控
