Sobre el proyecto

Toxiproxy es un proxy TCP escrito en Go diseñado para la ingeniería del caos y las pruebas de resiliencia. Permite a los desarrolladores simular diversas fallas y condiciones de red interceptando las conexiones entre una aplicación y sus servicios upstream (como bases de datos o cachés). Las capacidades clave incluyen: - Simulación de Red (Toxics): Proporciona varios "toxics" para manipular el flujo de datos, incluyendo latencia (añadir retraso), limitación de ancho de banda, timeouts de TCP, reinicios de conexión, pérdida de paquetes y la división de datos TCP en paquetes más pequeños. - Control Dinámico: Los proxies y toxics pueden gestionarse en tiempo real a través de una API REST HTTP o una interfaz de línea de comandos (CLI), lo que permite una manipulación determinista durante las pruebas de integración y unitarias. - Soporte Multiplataforma: El servidor está escrito en Go y disponible para Linux, macOS, Windows y Docker. - Ecosistema: Aunque el servidor es agnóstico al lenguaje, existen librerías de cliente oficiales y mantenidas por la comunidad para Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust y Elixir. - Monitoreo: Expone métricas compatibles con Prometheus a través de su API HTTP para rastrear el rendimiento y el comportamiento del proxy.