의존 서비스의 연결 조건
애플리케이션이 정상 동작하려면 외부 서비스와의 통신도 예상대로 이뤄져야 한다. Toxiproxy는 애플리케이션과 의존 서비스 사이에 프록시를 두고 통신 조건을 바꾼다. 지연이나 연결 중단을 만들어 오류 처리와 시간 초과 동작을 시험하는 데 활용한다.
서버와 클라이언트의 분리
Go로 구현한 TCP 프록시와 이를 HTTP로 제어하는 클라이언트가 함께 동작한다. 프록시가 수신할 주소와 실제 목적지 주소를 정하고 시험 연결이 해당 경로를 통과하도록 구성한다. 프록시를 거치지 않는 연결까지 같은 조건이 적용되는 것은 아니다.
시험 결과의 범위
일정한 조건을 반복 적용하거나 무작위성을 포함한 상황을 구성할 수 있다. 다만 한 가지 장애 시험을 통과했다고 모든 실패 상황을 견딘다고 판단할 수는 없다. 설정한 조건과 예상 결과를 명시하고 시험 뒤 연결 상태가 원래대로 돌아왔는지도 확인해야 한다.