채팅 백엔드 해부하기
실전 채팅 시스템은 작고 경계가 분명한 조각의 합이야. 트랙 4 의 방과 트랙 4 의 연결 신원, 트랙 5 의 봉투형 메시지 프로토콜에 DB 영속화, 입력 중 표시, 읽음 확인, 연결 시 대화 기록 가져오기를 더하지. 하나씩 보면 어렵지 않고, 핵심은 조합 가능한 상태를 유지하는 거야.
영속화는 REST, 실시간 전달은 밀어 주기
운영에서 흔한 방식은 채팅 메시지를 REST 엔드포인트로 POST 하고 DB 에 저장한 뒤 WebSocket 으로 펼치는 거야. WebSocket 은 현재 연결에 전달하고 DB 는 대화 기록을 책임져. 다시 연결한 클라이언트는 REST GET /messages?since=... 로 놓친 기록을 가져온 뒤 WebSocket 으로 새 메시지를 받아. 경로는 둘이지만 진실의 원천은 하나야.