Failure mapping

Gateway 오류 변환

API Gateway는 gRPC 코드와 서비스 장애를 그대로 노출하지 않습니다. 클라이언트가 이해할 HTTP 상태, 부분 응답, 추적 가능한 메시지로 바꾸는 계층입니다.

입력 검증

잘못된 id는 내부 호출 전 차단

HTTP 400

parseInt 결과가 유효하지 않으면 Users Service를 호출하지 않습니다.

gRPC not found

서비스 오류를 상태 코드로 매핑

HTTP 404

gRPC code 5는 클라이언트에게 사용자 없음으로 번역합니다.

부분 실패

주문은 유지하고 사용자만 비움

HTTP 200

주문 상세에서 사용자 조회 실패가 전체 응답 실패인지 화면 요구에 맞춰 결정합니다.

서비스 장애

일시 장애는 정책으로 흡수

HTTP 503

타임아웃과 연결 실패는 재시도, 차단, 대체 응답 기준을 함께 둡니다.

trace id

게이트웨이 로그와 Users Service 로그를 같은 요청 단위로 묶습니다.

retry budget

무제한 재시도는 병목을 키우므로 횟수와 시간 제한을 둡니다.

오류 계약

클라이언트가 처리할 메시지 형식은 서비스 내부 예외와 분리합니다.