03/Flow Routing
Failure Resilience
Status-code fallback, self-retry, cooldown and node-scope.
Routers answer "which member"; status edges answer "what happens if a member fails". Together they form a resilient chain.
#Status edges
A status edge from a member jumps to another member or router when specific HTTP codes (429, 502, "4xx", "5xx"…) are received. If codes are empty, any failure matches.
#Self-retry & cooldown
- max_retries
- How many times the same member is retried on a self-loop edge.
- retry_delay_sec
- In-request wait between attempts.
- cooldown_sec
- When retries are exhausted, the member@node is marked in Redis for this duration; subsequent requests skip it (circuit breaker).
#node_scope
A status rule can target "any" (any node of the member) or specific nodes. Specificity: a rule that includes the failing node > an "any" rule. This lets you fail over only when a specific node is bad.
Member A
Member B
A request never becomes an internal 500: if all targets are exhausted, the last upstream error is returned to the client.