TCP request-response

HTTP 요청은 ClientProxy 메시지로 바뀐다

Orders API는 사용자 정보를 직접 조회하지 않는다. HTTP 계층에서 받은 요청을 TCP message pattern으로 변환해 Users 마이크로서비스에 위임한다.

요청이 지나가는 5개 책임

01

HTTP Controller

외부 요청과 URL 파라미터를 받고 내부 메시지 payload로 정리한다.

02

ClientProxy

DI token으로 주입된 프록시가 TCP transport에 메시지를 보낸다.

03

MessagePattern

Users 프로세스는 pattern 이름으로 처리할 핸들러를 선택한다.

04

Domain Service

사용자 조회 로직은 Users 서비스 안에서만 실행된다.

05

HTTP Response

Observable 결과를 API 응답 또는 not found 메시지로 바꾼다.

함수 호출처럼 보여도 반드시 확인할 것

프로세스

Orders와 Users가 서로 다른 포트에서 떠 있어야 한다.

계약

pattern 문자열과 payload 모양이 양쪽 코드에서 같아야 한다.

시간

응답 대기에는 timeout을 두고 HTTP 요청을 무한정 붙잡지 않는다.

실패

null, 연결 실패, 느린 응답을 HTTP 오류 정책으로 변환한다.