실행 검증

TCP 호출은 세 곳에서 동시에 확인한다

API 응답만 보면 호출 실패 지점이 보이지 않는다. HTTP 표면, TCP message pattern, Users 프로세스 로그를 나눠 확인해야 한다.

호출 경로의 책임 분리

1. Orders HTTP

요청 수신

브라우저나 cURL 요청을 받고 orderId를 userId로 해석한다.

2. ClientProxy

메시지 전송

USERS_SERVICE token으로 TCP 서버에 pattern과 payload를 보낸다.

3. Users TCP

핸들러 실행

@MessagePattern 핸들러가 실행되고 사용자 데이터 또는 null을 반환한다.

장애 지점을 빠르게 좁히는 매트릭스

프로세스
확인

3000 HTTP, 3001 TCP가 모두 listening 상태다.

실패 신호

연결 거부, ECONNREFUSED, 요청 timeout이 보인다.

대응

서비스 기동 순서와 port, host 옵션을 맞춘다.

패턴
확인

send()의 pattern과 @MessagePattern 값이 같다.

실패 신호

핸들러 로그가 없고 응답이 돌아오지 않는다.

대응

문자열 상수를 공유하거나 contract 파일로 고정한다.

응답
확인

User JSON과 not found 응답을 모두 테스트한다.

실패 신호

null 처리가 HTTP 200 성공처럼 숨겨진다.

대응

도메인 실패를 HTTP 상태와 메시지로 명확히 변환한다.