GATEWAY DECISION

공통 정책은 게이트웨이에, 도메인 판단은 서비스에 둔다

API Gateway가 모든 책임을 가져가면 병목과 결합이 커진다. 책임 위치를 먼저 나누면 구현 경계가 선명해진다.

Gateway

  • JWT 검증, CORS, rate limit
  • 외부 URL과 내부 서비스 라우팅
  • 화면 단위 응답 조합

Service

  • 주문 생성 가능 여부
  • 사용자 상태 전환
  • 재고와 결제 같은 업무 규칙

Shared contract

  • proto, DTO, error code
  • request id, trace id 규칙
  • 외부 계약과 내부 메시지 분리
판단 질문 Gateway 쪽이면 Service 쪽이면
모든 API에 같은가? 공통 인증, 속도 제한, 요청 로그로 처리한다. 서비스별 권한이나 상태 규칙으로 남긴다.
화면 편의를 위한 조합인가? aggregation과 부분 실패 정책을 둔다. 원천 데이터와 변경 책임을 유지한다.
내부 모델을 많이 아는가? DTO 수준까지만 알고 route map으로 제한한다. 도메인 모델 접근은 서비스 내부에 둔다.