Realtime Gateway

WebSocket 설계 기준

게이트웨이를 만들 때는 메시지 처리 코드보다 인증, 룸, 브로드캐스트, 스케일링 조건을 먼저 정해야 운영 중 혼선이 줄어든다.

handshake

연결 수립

HTTP 업그레이드로 시작하고 운영에서는 WSS를 기본으로 둔다. CORS와 토큰 전달 위치도 이 단계에서 결정한다.

gateway

Gateway 책임

@SubscribeMessage는 이벤트 이름과 페이로드 계약을 묶고, 서비스 호출은 얇게 유지해 테스트 가능성을 남긴다.

room

룸 단위 전파

client.join(roomId) 이후에는 전체 emit과 to(roomId) 전파를 명확히 구분한다.

scale

스케일 아웃

인스턴스가 여러 개면 sticky session과 Redis Adapter가 필요하다. 이벤트가 서버 간에 공유되는지 확인한다.

observe

운영 관측

연결 수, 방 수, 재연결 횟수, 전송 실패를 로그와 메트릭으로 남긴다. 실시간 장애는 재현이 어렵다.