ClientProxy 계약은 pattern, payload, 응답 타입을 맞추는 일이다

TCP 마이크로서비스에서는 URL이 아니라 메시지 패턴이 라우팅 키가 됩니다. 보내는 쪽과 받는 쪽의 이름이 같아야 합니다.

Orders Service

호출하는 쪽

this.usersClient.send( 'get_user_by_id', userId )

패턴 이름과 payload를 함께 보냅니다.

Users Service

받는 쪽

@MessagePattern('get_user_by_id') getUserById(@Payload() id: number)

같은 패턴 이름을 가진 handler가 실행됩니다.

pattern라우팅 키

문자열 또는 객체로 어떤 handler를 부를지 정합니다.

payload전송 데이터

handler의 `@Payload()` 인자로 들어갈 값입니다.

Observable비동기 응답

`send()`는 응답을 기다리고 Observable로 결과를 반환합니다.

호출의미응답
send()질문을 보내고 결과를 받는다Observable로 응답을 기다림
emit()이벤트를 발행하고 흐름을 넘긴다응답을 기다리지 않음

핵심: NestJS TCP 예제에서 가장 먼저 맞춰야 할 것은 포트가 아니라 `pattern` 이름, payload 모양, 응답 처리 방식입니다.