![[코드가 환경을 모르는 구조 7/7] Variant와 스냅샷 캐시, 그리고 다섯 축의 총합](https://flex.team/blog/og/main.jpg)
아키텍처
[코드가 환경을 모르는 구조 7/7] Variant와 스냅샷 캐시, 그리고 다섯 축의 총합
두줄요약
테스트 인프라를 프로덕션 구조에 맞춰 variant와 스냅샷 캐시로 분리·재사용하는 방법을 정리했습니다. 경계를 깎아 교체 가능성을 만들면 CI와 개발 이터레이션이 함께 빨라졌습니다.
핵심 내용
- 테스트 인프라가 프로덕션의 분리 구조를 닮도록 variant 개념으로 컨테이너 공유 경계와 데이터 격리 경계 정의
- writer와 reader의 서로 다른 DB 초기 상태와 changelog를 variant로 분리해 CQRS/CDC 테스트에 적용
- 한 variant와 changelog 조합을 스냅샷 캐시로 재사용해 Liquibase 초기화 비용을 줄이고 CI 속도 개선
- 배포·클라우드·시간·공간·테스트 인프라로 이어지는 다섯 축의 공통 원리로 경계와 교체 가능성 강조
적용해볼 점
- 컨테이너 공유 단위를 이미지가 아니라 정체성 필드 조합으로 명시
- 캐시 키에 이미지 버전, 초기화 스크립트, 환경변수 등 variant 결정 요소 모두 반영
- 작은 팀은 배포 축과 시간 축부터 경계 분리 습관을 도입
