Dependency failure
Simulate a failed dependency by dropping all network traffic to the dependency.
Experiment types
Blackhole
Targets
Dependencies
Length
10 minutes
How this Scenario works
This scenario blocks network traffic to a dependency to test your application's ability to gracefully handle failure.
Why run this Scenario?
Modern applications have complex chains of services that they rely on. Each link in this chain is a dependency. This chain is essential to the application's operation, and this Scenario tests what happens when one of the links in the chain breaks by dropping network traffic to it.
- Verify that your application can gracefully detect and recover from an unavailable dependency.
- Test whether your platform / networking solution routes network traffic around the unavilable dependency.
- Catch unexpected errors or crashes caused by missing dependencies.
What to expect when you run it
When the dependency becomes unreachable, your application detects the failure quickly, degrades gracefully instead of erroring or crashing, and returns to normal once traffic to the dependency is restored.
More Scenarios to try
Kubernetes packet loss
Ensure your Kubernetes systems can detect and route around resources that fail health checks. This Scenario gradually increases packet loss to validate liveness/readiness probe and load balancer behavior.
Container packet loss
Ensure your containerized systems can detect and route around resources that fail health checks. This Scenario gradually increases packet loss to validate health check and load balancer behavior.
Windows packet loss
Ensure your Windows systems can detect and route around resources that fail health checks. This Scenario gradually increases packet loss to validate health check and load balancer behavior.
Avoid downtime. Use Gremlin to turn failure into resilience.
Gremlin empowers you to proactively root out failure before it causes downtime. See how you can harness chaos to build resilient systems by requesting a demo of Gremlin.
