Lanzamiento de Toxiproxy 2.3, un proxy para probar la resiliencia de las aplicaciones ante problemas de red

Shopify, una de las plataformas de comercio electrónico más grandes, ha lanzado Toxiproxy 2.3, un servidor proxy diseñado para simular fallas y anomalías de la red y del sistema para probar el rendimiento de la aplicación cuando ocurren tales condiciones. El programa se destaca por proporcionar una API para cambiar dinámicamente las características del canal de comunicación, que se puede utilizar para integrar Toxiproxy con sistemas de prueba unitaria, plataformas de integración continua y entornos de desarrollo. El código Toxiproxy está escrito en Go y distribuido bajo la licencia MIT.

Un proxy se ejecuta entre la aplicación que se está probando y el servicio de red con el que interactúa esta aplicación, después de lo cual puede simular la aparición de un cierto retraso al recibir una respuesta del servidor o enviar una solicitud, cambiar el ancho de banda, simular una negativa a aceptar conexiones. , interrumpir el progreso normal de establecimiento o cierre de conexiones, restablecer conexiones establecidas, distorsionar el contenido de los paquetes.

Para controlar el funcionamiento del servidor proxy desde las aplicaciones, se proporcionan bibliotecas cliente para Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust y Elixir, que le permiten cambiar la interacción de la red. condiciones sobre la marcha y evaluar inmediatamente el resultado. Para cambiar las características de un canal de comunicación sin realizar cambios en el código, se puede usar una utilidad especial toxiproxy-cli (se supone que la API Toxiproxy se usa en pruebas unitarias y la utilidad puede ser útil para realizar experimentos interactivos).

Entre los cambios en la nueva versión se encuentran la inclusión de un controlador de punto final del cliente para HTTPS, la separación de los controladores de prueba típicos en archivos separados, la implementación de la API client.Populate, soporte para las plataformas armv7 y armv6, y la capacidad de cambiar el nivel de registro para el servidor.

Fuente: opennet.ru

Añadir un comentario