Controller가 요청과 응답 형식을 책임집니다.
NestJS는 통신 틀을 주고, 서비스 경계는 우리가 설계한다
마이크로서비스 예제의 마무리는 코드가 아니라 책임 분리입니다. 프레임워크가 제공하는 추상화와 직접 정해야 하는 기준을 구분합니다.
pattern과 payload로 다른 서비스에 위임합니다.
@MessagePattern이 내부 메시지를 실제 코드로 연결합니다.
각 서비스가 자신의 상태와 업무 규칙을 소유합니다.
| 영역 | NestJS가 돕는 것 | 직접 정할 것 |
|---|---|---|
| 전송 계층 | TCP, Redis, Kafka, gRPC 같은 transport 추상화 | 서비스 요구에 맞는 프로토콜 선택 |
| 호출 계약 | ClientProxy, MessagePattern, Payload 연결 | pattern 이름, payload 구조, 오류 응답 규칙 |
| 운영 기준 | 일관된 모듈과 DI 구조 | 배포 단위, 관측성, 장애 격리 기준 |
정리: NestJS는 마이크로서비스를 만들기 쉽게 해주지만, “무엇을 독립 서비스로 둘지”와 “어떻게 실패를 관측할지”는 설계 판단으로 남습니다.