Hi,
Ideally, the health of a service is determined by its own liveness ("am-i-up")+ the health of its dependencies ("aggregate").
We have health checks in place that can do both, but we would like our monitoring service to monitor the aggregate state of the services, so that we are alerted when a service is in a degraded state.
However, in a situation like this, a circular dependency would mean time-outs on the health checks.
Service X -> Service Y -> Service Z -> Service X
Are we over-complicating things, or using a wrong approach?
Bert