是否可以在回退方法上使用另一个断路器?

Is it possible to use another circuit breaker over fallback method?

我需要在基于 java 的微服务中实现断路器,这样如果 backendA 有定义的失败次数,则回退方法应该调用另一个backendB,如果 backendB 也失败,那么应该有另一种回退方法从 Java [=25] return 错误=] itself.Is 有可能,更重要的是建议实施这样的 design.If 有人可以提供使用此类模式的任何参考或示例。我将使用 resilience4j 库来执行此操作。代码结构如下所示:

@CircuitBreaker(name = "backendA", fallbackMethod = "fallback1")
{Method to call backendA}//Threshold value : 10 requests

@CircuitBreaker(name = "backendB", fallbackMethod = "fallback2")
private String fallback1() { Method to call backendB} // Threshold value : 2 requests


private String fallback2() { Method to return error}

由于 Spring AOP(代理)的工作方式,这将无法工作。 回退方法不能有注释。

创建另一个 class 和调用备用系统的新方法对我有用。基本上,断路器不能应用于同一个 class 中的回退方法,因此在新的 class 中调用另一个方法并在那里添加一个断路器,解决了这个问题。