2024/07/20 2

13장. 검색어 자동완성 시스템

웹 사이트 검색 창에 단어를 입력하다 보면 입력중인 글자에 맞는 검색어가 자동을 완성된다.이런 기능을 보통 검색어 자동완성이라고 부른다.1단계 설계 범위 확정요구사항빠른 응답 속도: 사용자가 검색어를 입력함에 따라 자동완성 검색어도 충분히 빨리 표시되어야 한다.연관성: 자동완성 되어 출력되는 검색어는 사용자가 입력한 단어와 연관된 것이어야 한다.정렬: 시스템의 계산 결과는 인기도 등의 순위 모델에 의해 정렬되어 있어야 한다.규모 확장성: 시스템은 많은 트랙픽을 감당할 수 있도록 확장 가능해야 한다.고가용성: 시스템의 일부 장애가 발생해도 시스템은 계속 사용 가능해야한다. 개략적 규모측정일간 능동 사용자(DAU)는 천 만명으로 가정평균적으로 한 사용자는 매일 10건의 검색을 수행질의할 떄마다 평균적으로 2..

12장. 채팅 시스템 설계

1단계 설계 범위 확정응답지연이 낮은 일대일 채팅 기능최대 100명까지 참여할 수 있는 그룹 채팅 기능사용자의 접속상태 표시 기능다양한 단말 지원, 하나의 계정으로 여러 단말에 동시 접속 지원푸시 알림 2단계 개략적 설계안 먼저, 채팅을 시작하려는 클라이언트는 네트워크 통신 프로토콜을 사용하여 서비스에 접속한다.대부분의 클라이언트/서버 애플리케이션에서 요청을 보내는 것은 클라이언트(사용자)이다.메세지 송신 클라이언트가 수신  클라이언트에게 전달할 메세지를 채팅 서브시에 보낼 때, HTTP 프로토콜을 사용한다.채팅 서비스와의 접속에는 keep-alive 헤더를 사용하면 효율적이다.=> 클라이언트와 서버 사이의 연결이 끊지 않고 계속 유지할 수 있다.=> TCP 접속 과정에서 발생하는 핸드 쉐이크 횟수도 줄..