Chaos Monkey for Spring Boot vs Toxiproxy
Chaos Monkey for Spring Boot
codecentric.github.ioToxiproxy
github.comSide by side
| Figure | Chaos Monkey for Spring Boot | Toxiproxy |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 1 |
| Spec score · Chaos Engineering Platforms | 7.4 (#16) | 8.2 (#8) |
| Compatibility limit | Each Chaos Monkey release is built for a specific Spring Boot version, and using the external JAR with a different version may break the application. | Version 2.x has API changes that make it incompatible with version 1.x, so the client library must support the server version in use. |
| Intended users | The project is focused on Spring Boot applications and aims to help test application behavior such as fallbacks, network latency, and service failures. | The project is aimed at developers and teams testing service failure handling in development, unit and integration tests, and CI. |
| Purpose | Chaos Monkey for Spring Boot tests Spring Boot applications by injecting failures during operation. | Toxiproxy is a TCP proxy for simulating network and system conditions in chaos and resiliency testing. |
Plans
In their own words
Chaos Monkey for Spring Boot
Chaos Monkey for Spring Boot has no write-up on Specifiction yet; its figures are above.
Toxiproxy
Toxiproxy is a free, open-source TCP proxy for testing how software responds to network and system problems in development, testing, and CI. Applications route test connections through it, then users change connection behavior through an HTTP API or command-line interface. Built-in toxics can add latency or jitter, restrict bandwidth, delay socket closure, time out or reset connections, slice TCP data, limit transmitted data, or drop packets. Settings support deterministic connection changes as well as randomized chaos. The API manages proxies and toxics, resets proxies, and returns version information and Prometheus-compatible metrics. It listens on port 8474; configuring a proxy with listen port 0 assigns an ephemeral port. Client libraries are listed for Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust, and Elixir. Installation options include Linux packages and binaries, Homebrew and MacPorts, a Windows download, a container image, and building from source with Go. The project identifies its license as MIT. Its HTTP API is unauthenticated by default, though bearer-token authentication is supported.