Об этом проекте

Toxiproxy — это TCP-прокси на языке Go, разработанный для хаос-инжиниринга и тестирования отказоустойчивости. Он позволяет разработчикам имитировать различные сетевые сбои и условия, перехватывая соединения между приложением и его вышестоящими сервисами (такими как базы данных или кэши). Ключевые возможности включают: - Симуляция сети (Toxics): предоставляется несколько «токсиков» для манипулирования потоком данных, включая задержку (latency), ограничение пропускной способности, тайм-ауты TCP, сбросы соединений, потерю пакетов и разделение данных TCP на более мелкие пакеты. - Динамическое управление: прокси и токсиками можно управлять в режиме реального времени через REST HTTP API или интерфейс командной строки (CLI), что обеспечивает детерминированное вмешательство во время интеграционных и модульных тестов. - Кроссплатформенная поддержка: сервер написан на Go и доступен для Linux, macOS, Windows и Docker. - Экосистема: хотя сервер не зависит от языка программирования, существуют официальные и поддерживаемые сообществом клиентские библиотеки для Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust и Elixir. - Мониторинг: через HTTP API предоставляются метрики, совместимые с Prometheus, для отслеживания производительности и поведения прокси.