실시간 3편 — SSE를 걷어내고 WebSocket으로 갈아탔다
잘 돌던 SSE를 665줄 삭제 PR로 걷어내고 socket.io로 갈아탔다. 열등해서가 아니라 요구사항이 양방향 축을 넘어가서다. 전환의 이유, envelope 설계, refetch 타협, 유실 복구까지 코드로 정리했다.
Backend
잘 돌던 SSE를 665줄 삭제 PR로 걷어내고 socket.io로 갈아탔다. 열등해서가 아니라 요구사항이 양방향 축을 넘어가서다. 전환의 이유, envelope 설계, refetch 타협, 유실 복구까지 코드로 정리했다.
토픽마다 EventSource를 하나씩 열던 초기 방식을 버리고, 프로젝트당 연결 1개로 멀티플렉싱하는 SSE를 설계했다. 도메인 무지 transport와 도메인 정책을 분리한 백엔드, 연결/해석 2계층으로 나눈 프론트엔드의 실제 코드.
실시간 채널이 필요해졌을 때 SSE와 WebSocket 중 무엇을 골라야 할까. 프로토콜 차이, 인증·재연결·유실 복구 관점의 비교, 그리고 선택 기준 세 가지를 정리했다.