Release of Toxiproxy 2.3, a proxy for testing application resilience to network problems

Shopify, one of the largest e-commerce platforms, has released Toxiproxy 2.3, a proxy server designed to simulate network and system failures and anomalies to test the performance of applications when such conditions occur. The program is notable for providing an API for dynamically changing communication channel characteristics, which can be used to integrate Toxiproxy with unit testing systems, continuous integration platforms and development environments. The Toxiproxy code is written in Go and distributed under the MIT license.

A proxy runs between the application being tested and the network service with which this application interacts, after which it can simulate the occurrence of a certain delay when receiving a response from the server or sending a request, change bandwidth, simulate a refusal to accept connections, disrupt the normal progress of establishing or closing connections, reset established connections, distort the contents of packets.

To control the operation of the proxy server from applications, client libraries are provided for the languages ​​Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust and Elixir, which allow you to change network interaction conditions on the fly and immediately evaluate the result. To change the characteristics of a communication channel without making changes to the code, a special utility toxiproxy-cli can be used (it is assumed that the Toxiproxy API is used in unit tests, and the utility can be useful for conducting interactive experiments).

Among the changes in the new release are the inclusion of a client endpoint handler for HTTPS, the separation of typical test handlers into separate files, the implementation of the client.Populate API, support for the armv7 and armv6 platforms, and the ability to change the logging level for the server.

Source: opennet.ru

Add a comment