Traffic Mirroring
Traffic Mirroring(또는 Shadow Traffic)은 프로덕션 트래픽을 실시간으로 복제하여 새 버전을 테스트하는 기법입니다.
목차
Traffic Mirroring 개요
기본 설정
Sidecar 예제에는 reviews Service와 파드 레이블에 일치하는 DestinationRule subset v1/v2가 필요합니다. 이 호스트의 VirtualService는 대안 중 하나씩 적용하세요. Mirror는 주 경로 가중치의 일부가 아니라 추가 복사본을 받습니다.
yaml
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: reviews-mirror
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
weight: 100
mirror:
host: reviews
subset: v2
mirrorPercentage:
value: 100 # 100% 미러링부분 미러링
yaml
apiVersion: networking.istio.io/v1
kind: VirtualService
metadata:
name: reviews-partial-mirror
spec:
hosts:
- reviews
http:
- route:
- destination:
host: reviews
subset: v1
mirror:
host: reviews
subset: v2
mirrorPercentage:
value: 10 # 10%만 미러링모범 사례
- 미러 응답은 버리므로 장애 조치나 자동 응답 비교 기능이 아닙니다.
- 복사한 쓰기 요청도 대상에서 실행됩니다. 프로덕션 요청을 복제하기 전에 Shadow의 DB·큐·외부 부수 효과를 격리하세요.
- 작은 비율로 시작해 주 요청의 지연 시간과 Shadow 용량을 관찰하세요. 미러링은 트래픽과 처리 비용을 추가합니다.
- 기본적으로 미러 요청의 Host/Authority에는
-shadow접미사가 붙으므로 대상이 이를 수용해야 합니다. Ambient waypoint에는 선택한 릴리스가 지원하는 라우팅 API를 확인하세요.
