Toxiproxy is a network resiliency testing tool I helped develop for Shopify. It is designed as a TCP proxy that can programmatically configured to tamper with connections via “toxics” in a development / testing environment.

A number of different toxic types are available including:

  • Adding latency / jitter
  • Limiting bandwidth
  • Dropping or refusing connections

Proxies and toxics can be controlled through a web interface, command-line, or from within automated testing via one of the available client libraries.

You can read more about how Shopify uses this for resiliency testing in their blog post.