ClientProxy 계약

TCP 패턴과 응답 계약

Orders Service의 HTTP 컨트롤러가 Users Service를 호출할 때 핵심은 같은 transport, 같은 pattern, 예상 가능한 payload와 return입니다.

주문 조회에서 사용자 확인까지

GET /orders userId 추출 send 호출 패턴 매칭 User 반환

호출 방식 선택

send()
주문 생성 전에 사용자가 존재하는지 확인해야 할 때 사용합니다.
emit()
로그, 알림처럼 결과를 기다리지 않아도 되는 사건에 맞습니다.
toPromise
HTTP 응답으로 돌려줄 값은 Observable을 기다린 뒤 반환합니다.

검증 지점

transport
양쪽 모두 Transport.TCP와 port 3001을 바라보는지 확인합니다.
pattern
get_user_by_id 문자열이 클라이언트와 핸들러에서 같아야 합니다.
fallback
null 응답은 주문 API에서 명확한 실패 메시지로 바꿉니다.

TCP 패턴과 응답 점검

같은 NestJS 코드처럼 보여도 서비스 경계를 넘는 순간 네트워크 호출이 됩니다. 포트, 메시지 이름, payload 타입, 실패 응답을 한 세트로 관리해야 디버깅 범위가 좁아집니다.