![[코드가 환경을 모르는 구조 5/7] Rewrite Host — 공간 축을 교체한다](https://flex.team/blog/og/main.jpg)
아키텍처
[코드가 환경을 모르는 구조 5/7] Rewrite Host — 공간 축을 교체한다
두줄요약
MSA 로컬 개발의 병목을 줄이기 위해 Rewrite Host로 수정 중인 서비스만 노트북 인스턴스로 교체하는 방식을 소개했습니다. 디버그 헤더와 응답 피드백으로 부분 검증과 라우팅 전환을 단순화했습니다.
문제 상황
- MSA 전환 후 한 서비스 수정에도 Gateway, 인증, 이웃 도메인, DB, Kafka까지 필요해지는 로컬 개발 붕괴
- 전부 로컬에 띄우면 자원과 관리 비용이 크고, dev 클러스터 배포 루프는 이터레이션을 너무 느리게 만드는 문제
해결 방법
- dev 환경 전체는 그대로 두고 수정 중인 서비스만 노트북 인스턴스로 바꾸는 Rewrite Host 적용
- Spring Cloud Gateway 글로벌 필터에서 디버그 헤더를 보고 목적지 URI의 scheme/host/port만 치환
- 스위치 헤더와 서비스별 매핑 헤더로 적용 여부와 대상 주소를 분리하고, 응답 헤더로 불일치 사유 피드백
적용해볼 점
- 부분 교체형 라우팅으로 전체 시스템 재현 없이 로컬 검증 루프 단축
- 요청의 나머지 정보는 유지하고 대상 주소만 바꾸는 단일 축 교체 설계
- 백엔드와 마이크로 프론트엔드에 같은 사고방식 확장 가능
