Reverse Proxy 구현 방식 선택
상태
승인
후보군
| 방안 | 설명 |
|---|---|
| RestClient pass-through | Spring RestClient로 요청 헤더·본문·상태코드를 그대로 BE에 전달 |
| Spring Cloud Gateway | WebFlux 기반 오픈소스 API 게이트웨이 |
| Netflix Zuul | 서블릿 기반 프록시 라이브러리 |
결정
Spring의 RestClient로 요청 헤더·본문·상태코드를 그대로 BE에 전달한다. Spring Cloud Gateway 같은 별도 프레임워크는 도입하지 않는다.
결정 이유
- 현재 인증 없음 → 단순 pass-through로 충분
- RestClient는 이미 BE에서 사용 중 → 팀 친숙도 높음
- 추가 의존성 없이 구현 가능
검토 대안
| 방안 | 기각 이유 |
|---|---|
| Spring Cloud Gateway | WebFlux 기반 → 현재 프로젝트(Servlet MVC)와 스택 충돌 |
| Netflix Zuul | 유지보수 중단, Spring Boot 3.x 미지원 |
트레이드오프
- 스트리밍 응답(SSE, chat) pass-through 시 별도 처리 필요 → chat 엔드포인트 proxy 제외 (BE 직접 호출 유지)
- 단순 구현으로 운영 복잡성 낮음