프로젝트 소개
Toxiproxy는 카오스 엔지니어링 및 회복 탄력성 테스트를 위해 Go로 작성된 TCP 프록시입니다. 개발자가 애플리케이션과 업스트림 서비스(데이터베이스 또는 캐시 등) 간의 연결을 가로채어 다양한 네트워크 장애 및 조건을 시뮬레이션할 수 있게 해줍니다.
주요 기능은 다음과 같습니다:
- 네트워크 시뮬레이션 (Toxics): 지연 시간 추가(latency), 대역폭 제한, TCP 타임아웃, 연결 재설정, 패킷 손실, TCP 데이터를 더 작은 패킷으로 분할하는 등 데이터 흐름을 조작하는 여러 "toxics"를 제공합니다.
- 동적 제어: 프록시와 toxics는 REST HTTP API 또는 명령줄 인터페이스(CLI)를 통해 실시간으로 관리할 수 있어, 통합 및 단위 테스트 중에 결정론적인 조작이 가능합니다.
- 크로스 플랫폼 지원: 서버는 Go로 작성되었으며 Linux, macOS, Windows 및 Docker에서 사용할 수 있습니다.
- 생태계: 서버는 언어에 구애받지 않으며 Ruby, Go, Python, .NET, PHP, Node.js, Java, Haskell, Rust, Elixir를 위한 공식 및 커뮤니티 주도 클라이언트 라이브러리가 존재합니다.
- 모니터링: HTTP API를 통해 Prometheus 호환 메트릭을 노출하여 프록시 성능과 동작을 추적할 수 있습니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.