Chat backend 의 해부
실전 chat 시스템 = 작고 잘 정의된 조각의 합: room (Track 4), envelope 가진 message protocol (Track 5), connection identity (Track 4), DB 영속화 (여기), typing indicator, read receipt, connect 시 history fetch. 개별로 어려운 거 없음; 규율은 composable 유지.
영속화는 REST, real-time 은 push
가장 흔한 production 패턴: chat message 가 REST endpoint 로 POST → DB 저장 + WebSocket fan-out. WebSocket 은 liveness 용; DB 가 history 용. 재연결 클라가 REST GET /messages?since=... 로 history fetch 후 WebSocket 으로 새 message 받음. 두 path, 한 source of truth.