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

通常对于使用微服务架构开发的系统,涉及到许多微服务。这些微服务彼此协作。

思考以下微服务

image-20210814062924353

假设如果上图中的微服务9失败了,那么使用传统方法我们将传播一个异常。但这仍然会导致 整个系统崩溃。

随着微服务数量的增加,这个问题变得更加复杂。微服务的数量可以高达1000.这是hystrix出 现的地方 我们将使用Hystrix在这种情况下的Fallback方法功能。我们有两个服务employeeconsumer使用由employee-consumer公开的服务。

简化图如下所示

image-20210814062949346

现在假设由于某种原因,employee-producer公开的服务会抛出异常。我们在这种情况下使 用Hystrix定义了一个回退方法。这种后备方法应该具有与公开服务相同的返回类型。如果暴 露服务中出现异常,则回退方法将返回一些值。