Можно ли при использовании шаблона прерывателя цепи обернуть все вызовы внешних служб в метод, который передается в .withCircuitBreaker()
, или каждый вызов сам по себе следует передавать в .withCircuitBreaker()
? например.
// wrapped
def wrapper(param: T) : Future[Option[T]] = {
externalCall1(param)
externalCall2(param)
}
circuitBreaker.withCircuitBreaker(wrapper(someParam))
// one-by-one
circuitBreaker.withCircuitBreaker(externalCall1(param))
circuitBreaker.withCircuitBreaker(externalCall2(param))
Обновление: в случае веб-службы можно ли зарегистрировать автоматический выключатель в mainActorSystem
или мне следует использовать отдельный circuitBreakerActorSystem
?