我的服务必须呼叫另一个服务。但是,如果该服务关闭,则必须调用同一服务的后备URL。就像该服务已部署在两个数据中心中一样。如果一切正常,则在主DC断开时将其称为辅助DC。
我正在尝试使用回弹力4j中的断路器来实现这一目标。 要求就像
如果服务在最近y秒内失败了x%,则可以确定服务是启动还是关闭。
您能帮我怎么做?我在我的应用程序中使用Resilience4j和spring-boot。
答案 0 :(得分:1)
您可以使用为Vavr's Try
and use recover
method提供的支持
circuitBreaker
.decorateTrySupplier(() -> Try.ofSupplier(() -> "Call Service 1."))
.get()
.recover(CallNotPermittedException.class, exception -> "Call Service 2")
.get();