대규모 시스템 설계
![[대규모 시스템 설계 기초] 13장 - 검색어 자동완성 시스템 설계](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSaxP2%2FbtsGVcY027Y%2FG3lQj4JisoKVcrDkxWYvp1%2Fimg.png)
[대규모 시스템 설계 기초] 13장 - 검색어 자동완성 시스템 설계
13장은 구글 검색 및 아마존 웹 사이트 검색창에 단어를 입력했을 때 입력 중인 글자에 맞는 검색어가 자동으로 완성되는 시스템에 대해 다룬다. 요구사항 예시자동완성될 검색어는 첫 부분으로 한정5개의 자동완성 검색어가 표시되어야 함인기 순위를 기준으로 5개의 검색어를 표시맞춤법 검사나 자동수정은 지원하지 않음질의어은 영어지만 다국어 지원을 생각하면 좋음질의는 영어 소문자로 이루어짐DAU 천만 명 위 요구사항을 정리하자면 다음과 같다.빠른 응답 속도: 사용자가 검색어를 입력할 때마다 자동완성 검색어도 표시되어야 한다.연관성: 사용자가 입력한 단어와 연관되어야 한다.정렬: 인기도 등의 순위 모델에 의해 정렬되어 있어야 한다.규모 확정성: 시스템은 많은 트랙픽을 감당할 수 있도록..
![[대규모 시스템 설계 기초] 11장 - 뉴스 피드 시스템 설계](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmnUpp%2FbtsFWjlm2hr%2FUMnUK3AvWoo13E8V0Kxmv0%2Fimg.png)
[대규모 시스템 설계 기초] 11장 - 뉴스 피드 시스템 설계
11장은 뉴스 피드(news feed) 설계에 대해 다룬다. 뉴스 피드란? 사용자에게 자주 업데이트되는 콘텐츠를 제공하는 데 쓰이는 데이터 포맷이다. 콘텐츠 배포자들은 웹 피드를 중개함으로써 사용자들이 이들을 구독할 수 있게 한다. 출처 - 위키피디아 요구사항 예시 모바일 앱, 웹 모두 지원 사용자가 업로드한 스토리 및 친구들이 올리는 스토리를 볼 수 있어야 함 피드는 최근 순으로 정렬 사용자는 5천 명의 친구를 맺을 수 있음 10M의 DAU를 가짐 피드는 이미지, 비디오 모두 포함 개략적 설계 뉴스 피드는 피드 발행(feed publishing), 피드 생성(feed building) 두 가지 부분으로 나뉘어 있다. 피드 발행: 사용자가 스토리를 포스팅하면 해당 데이터를 cache와 DB에 기록한다. ..
![[대규모 시스템 설계 기초] 10장 - 알림 시스템 설계](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQqFyq%2FbtsFOeZpN6u%2Fkv39rvfoZWe1VSRXzqMV21%2Fimg.png)
[대규모 시스템 설계 기초] 10장 - 알림 시스템 설계
10장은 알림 시스템(notification system)에 대해 다룬다. 알림 시스템은 단순 푸시 알림뿐만 아니라, SMS 메시지 그리고 이메일 세 가지로 분류할 수 있다. 요구사항 예시 푸시 알림, 이메일, SMS 메시지 알림 지원 연성 실시간(soft real-time) 시스템 스마트폰, 랩톱/데스크톱 지원 클라이언트에서 만들 수도 있고, 서버 측에서도 스케줄링할 수 있음 알림을 받지 않도록 설정한 사용자에겐 알림 제공 X 하루에 천만 건에 푸시 알림, 백만 건의 SMS 메시지, 5백만 건의 이메일을 보낼 수 있어야 함 개략적 설계 알림 유형별 지원방안 iOS 푸시 알람 iOS에서 푸시 알람을 보내기 위해 알림 제공자(provider), APNS(Apple Push Notification Syste..