Gateway는 내부 실패를 클라이언트가 이해할 HTTP 응답으로 바꾼다

gRPC 오류, 부분 실패, timeout은 그대로 노출하지 않고 외부 API 계약에 맞는 상태 코드와 메시지로 정리합니다.

1. Internal errorgRPC / timeout

Users Service 호출이 실패하거나 늦어집니다.

2. Gateway decision매핑 또는 부분 응답

재시도할지, 404/502로 바꿀지, 주문만 반환할지 정합니다.

3. HTTP contract일관된 응답

클라이언트는 내부 프로토콜을 몰라도 같은 규칙으로 처리합니다.

내부 상태Gateway 판단HTTP 응답
NOT_FOUND없는 사용자로 확정404 User not found
UNAVAILABLE상류 서비스 장애502 또는 fallback 응답
Order exists, User fail부분 실패 허용200 + user:null + message

핵심: 게이트웨이는 내부 오류를 숨기는 곳이 아니라, 클라이언트가 처리 가능한 외부 실패 계약으로 번역하는 곳입니다.