Skip to content

ToxiProxy

네트워크 테스팅용 오픈소스 TCP 프록시.

A TCP proxy to simulate network and system conditions for chaos and resiliency testing.

Features

  • 네트워크 상황을 시뮬레이팅하는 테스팅 프레임워크
  • CI/개발환경 등에서 네트워크 연결이 이상할 때를 시뮬레이트해서 SPOF가 있는지 테스트
  • Shopify에서 개발해서 2014년부터 사용 중
  • Go로 작성된 TCP 프록시와 HTTP로 프록시와 통신하는 각종 언어용 클라이언트로 구성
    • ruby, Go, Python, .NET, PHP, Node, Java, Haskell, Rust, Elixir

Examples

모든 MySQL 응답을 1초간 지연

Toxiproxy[:mysql_master].downstream(:latency, latency: 1000).apply do
Shop.first # this takes at least 1s
end

모든 Redis Instance를 다운

Toxiproxy[/redis/].down do
Shop.first # this will throw an exception
end

See also

Favorite site