12장 채팅 시스템 설계

가상면접으로 배우는 대규모 시스템 설계 기초

12장 채팅 시스템 설계

메시지 수신 시나리오

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

무상태 서비스

  • 로그인, 회원가입, 사용자 프로파일 표시

상태 유지 서비스

  • 채팅서비스

참조