이제 성공 여부만 보면 부족하다

chap03까지는 주로 서비스 사이의 협업이 정상적으로 이어지는지를 봤다.

주문 이벤트가 발행되는가, 재고 차감 커맨드가 가는가, 실패하면 보상이 일어나는가가 중요했다.

chap04에서는 여기에 하나가 더해진다.

사용자가 그 결과를 언제 알게 되는가.

백엔드에서 주문이 완료되었다고 해도, 사용자가 화면에서 아무 변화도 보지 못하면 경험은 완성되지 않는다.

그래서 실시간 알림이 들어오면 아키텍처를 보는 시야도 조금 달라진다.

image.png

내부 흐름과 외부 경험을 함께 봐야 한다

MSA를 공부할 때 흔히 서비스 경계, DB 분리, 메시지 흐름에 집중한다.

물론 이것들은 중요하다.

하지만 실제 시스템에서는 사용자가 보는 상태도 중요하다.

chap04는 이 질문을 깊게 파고들지는 않는다.

하지만 최소한 백엔드 흐름과 사용자 화면이 연결되어야 한다는 점을 보여 준다.

WebSocket은 사용자 경험과 시스템 흐름을 잇는다

WebSocket은 단순한 기술 이름이 아니다.