Testing the Unhappy Path
Resilience features only count if they work under real failure. Fault injection has the mesh deliberately introduce delays and errors so you can verify your retries, timeouts, and circuit breakers actually behave.
Two Kinds of Fault
- Delay injection: the proxy holds a percentage of requests for a set time, simulating a slow dependency. This tests whether callers time out and degrade gracefully.
- Abort injection: the proxy returns an error status for a percentage of requests, simulating a failing dependency. This tests retry and fallback logic.
Because the mesh applies faults by configuration, no application code changes and you can scope faults to specific routes or headers.
A Disciplined Practice
Fault injection is the controlled cousin of chaos engineering. You form a hypothesis, inject a fault into a narrow slice of traffic, and check that the system holds. Targeting by header lets you run experiments that only affect test traffic.
Why It Builds Confidence
A timeout you never exercised is a guess. Injecting the exact failure it guards against turns that guess into evidence, before a real outage tests it for you.
Key idea
Mesh fault injection adds controlled delays and errors to a slice of traffic so you can prove retries, timeouts, and circuit breakers work before a real outage does the testing.