Our current service setup has ServiceZ which calls multiple other downstream services like ServiceA, ServiceB and in turn multiple API's of these downstream services assuming ApiA1(Get), ApiA2(Post), ApiA3(Get), ApiB1(Post), ApiB2(Get) and so.
What should be correct setup for circuit breaker to implement? We already have service level circuit breaker should we break it down to API level in order to avoid complete setup failure? Or should be implemented at HTTP method level?
It seems that it is necessary to implement circuit breaker at http method level in your
serviceZ. Because you have a main service which makes calls to other services such asApiA1(Get),ApiA2(Post),ApiA3(Get),ApiB1(Post),ApiB2(Get)and so. And when some of these services fails you need to decide what circuit breaker should do.An example can be seen here.