CLOSED: All requests are allowed, if failure rate exceed a threshold, transition to OPEN.
OPEN: Requests are blocked, and a fallback response is returned to prevent overloading the failing service.
HALF-OPEN: A small number of requests are allowed to go through to check if the service is still failing. If the failure rate is low, transition to CLOSED, otherwise transition to OPEN.