가상면접으로 배우는 대규모 시스템 설계 기초
12장 채팅 시스템 설계
메시지 수신 시나리오
- 폴링 : 주기적으로 서버에 물어 보는 방법
- 단점
- 서버에 응답이 없어도 물어봐야 되어서 자원이 낭비됨
- 단점
- 롱폴링 : 새메시지를 반환 하거나 타임아웃이 될때 까지 대기
- 단점
- 메시지를 보내는 클라이언트와 수신하는 클라이언트가 같은 채팅 서버에 접속하지 않을 수도 있다.
- 서버 입장에서 연결을 해재했는지 알 좋은 방법이 없다
- 여전히 비효율적이다
- 단점
- 웹소켓 : 서버가 클라이언트에게 비동기 메시지를 보낼때 가장 널리 사용하는 기술
- 연결은 클라이언트가 하지만 연결되면 양방향으로 메시지 전송이 가능하다
무상태 서비스
- 로그인, 회원가입, 사용자 프로파일 표시
상태 유지 서비스
- 채팅서비스