Sobre o projeto

Toxiproxy é um proxy TCP escrito em Go, projetado para engenharia de caos e testes de resiliência. Ele permite que desenvolvedores simulem várias falhas e condições de rede interceptando conexões entre uma aplicação e seus serviços upstream (como bancos de dados ou caches). As principais capacidades incluem: - Simulação de Rede (Toxics): Fornece diversos "toxics" para manipular o fluxo de dados, incluindo latência (adição de atraso), limitação de largura de banda, timeouts de TCP, resets de conexão, perda de pacotes e a divisão de dados TCP em pacotes menores. - Controle Dinâmico: Proxies e toxics podem ser gerenciados em tempo real via uma API REST HTTP ou interface de linha de comando (CLI), permitindo adulterações determinísticas durante testes de integração e unitários. - Suporte Multiplataforma: O servidor é escrito em Go e está disponível para Linux, macOS, Windows e Docker. - Ecossistema: Embora o servidor seja agnóstico em relação à linguagem, existem bibliotecas de cliente oficiais e movidas pela comunidade para Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust e Elixir. - Monitoramento: Expõe métricas compatíveis com Prometheus via sua API HTTP para rastrear o desempenho e o comportamento do proxy.