12P by xguru 2021-11-04 | favorite | 댓글과 토론

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

예1) 모든 MySQL 응답을 1초간 지연
Toxiproxy[:mysql_master].downstream(:latency, latency: 1000).apply do
ㅤShop.first # this takes at least 1s
end

예2) 모든 Redis Instance를 다운
Toxiproxy[/redis/].down do
ㅤShop.first # this will throw an exception
end