서비스 소유권
사용자 서비스는 사용자 데이터, 주문 서비스는 주문 상태처럼 변경 책임을 한 곳에 둡니다.
마이크로서비스 경계
createMicroservice, ClientProxy, MessagePattern을 쓰기 전 사용자, 주문, 알림 서비스가 어떤 데이터와 실패를 소유하는지 정합니다.
사용자 서비스는 사용자 데이터, 주문 서비스는 주문 상태처럼 변경 책임을 한 곳에 둡니다.
TCP는 실습에 단순하고 NATS, RabbitMQ, Kafka는 운영 메시징 특성이 다릅니다.
@MessagePattern은 command 성격, @EventPattern은 fire-and-forget 이벤트 성격을 드러냅니다.
timeout, retry, fallback을 정하지 않으면 작은 서비스 장애가 전체 요청 지연으로 번집니다.