세 길
Raw WebSocket: best 성능, total 제어, universal 호환, 짤 코드 많음. Socket.IO: room/reconnect/ack/fallback built-in, chat-shaped 앱 ship 가장 빠름, SDK 종속. Managed service (Ably, Pusher, Supabase Realtime): zero infra, 후한 SDK, message 별 가격, vendor lock-in.
솔직한 decision matrix
대부분의 팀이 fit 이 아니라 trend 로 픽. 더 솔직한 버전: custom protocol, 제3자 interop, 또는 극단 성능 필요하면 raw WebSocket. chat/collab/notification 앱 ship 하고 audience 가 자기 클라면 Socket.IO. 자체 호스팅 엔지니어링 비용이 message 당 비용보다 크면 managed — 보통 매우 작은 팀 또는 매우 큰 scale.
cwkPippa 의 픽
cwkPippa 가 집의 Mac Studio, 단일 서버, audience 둘. raw FastAPI WebSocket 도 over-engineering 일 수 있어; SSE 로도 대부분 flow 충분. 원칙 일반화: 실제 needs 만족하는 가장 가벼운 도구.