message reliability

실시간 메시지 복구

Socket.IO 재연결만 믿으면 누락과 중복을 놓치기 쉽습니다. 메시지 ID, 권한 검증, 브로커, 클라이언트 확인 응답을 연결합니다.

client

전송 요청

메시지 본문과 함께 임시 ID, 방 ID, 마지막 수신 ID를 서버로 보냅니다.

중복 판단 재료 확보
gateway

권한 검증

연결 시점 인증과 별개로 방 참여 권한, 메시지 크기, 전송 빈도를 다시 확인합니다.

이벤트 단위 보호
store

저장 후 배포

확정 ID를 데이터 저장소에 남긴 뒤 Redis 어댑터나 브로커로 다른 인스턴스에 알립니다.

재전송 기준 생성
broadcast

방 단위 전파

같은 방의 소켓에만 전송하고, 클라이언트는 수신한 마지막 ID를 로컬 상태에 기록합니다.

순서와 범위 유지
recover

재연결 보정

끊겼던 사용자는 마지막 ID 이후 메시지를 API로 다시 받아 화면 상태를 맞춥니다.

누락 구간 회복
운영 신호

전송 실패율, 중복 제거 횟수, 재연결 후 보정 건수, 방별 지연 시간을 함께 봐야 실시간 품질을 판단할 수 있습니다.