채팅 시스템 설계 (1/2 진행)과 라이브 코테
2025/07/18
스터디 진행 일시
날짜 : 7월 18일 (금요일)
시간 : 오후 6시 ~ 9시 (3시간)
장소 : 강남 (오프라인)
🔧 금주 스터디 일정
- 개발 책 12장 - 채팅 시스템 설계(1/2 진행)
- 라이브 코테 진행
📖 개발 책 12장
- 12장
- 11장은 채팅 시스템 설계에 관한 이야기를 다룬다.
- 채팅 시스템을 알기 위해서는 클라이언트와 서버의 통신 방법에 대한 기본적인 지식을 갖추고 있어야 한다.
- 우선 채팅 서비스는 아래 기능을 제공해야 한다.
- 클라이언트들로부터 메시지 수신
- 메시지 수신자 결정 및 전달
- 수신자가 접속 상태가 아닌 경우에는 접속할 때까지 해당 메시지 보관
- 서버가 연결을 만드는 것처럼 동작할 수 있도록 하기 위해 많은 기법이 제안되어 있다.
- 폴링(polling)
- 롱 폴링(long polling)
- 웹 소켓(WebSocket)
- 폴링은 클라이언트가 주기적으로 서버에게 새 메시지가 있느냐고 물어보는 방법이다. 폴링 비용은 자주하면 할수록 올라간다. 답해줄 메시지가 없는 경우에는 서버 자원이 불필요하게 낭비된다는 문제도 있다.
- 롱 폴링은 클라이언트의 새 메시지가 반환되거나 타임아웃될 때까지 연결을 유지한다. 클라이언트는 새 메시지를 받으면 기존 연결을 종료하고 서버에 새로운 요청을 보내어 모든 절차를 다시 시작한다.
💻 라이브 코테