뉴스 피드란?
홈 페이지 중앙에 지속적으로 업데이트되는 스토리들
사용자 상태 정보 업데이트, 사진, 비디오, 링크, 앱 활동(app activity), 그리고 유저가 페이스북에서 팔로하는 사람들, 페이지, 또는 그룹으로부터 나오는 ‘좋아요(likes)’ 등을 포함.
1단계 문제 이해 및 설계 범위 확정
요구 사항
- 모바일 앱 / 웹 지원
- 사용자는 뉴스 피드 페이지에 새로운 스토리를 올릴 수 있어야 하고, 친구들이 올리는 스토리를 볼 수 있어야 한다.
- 뉴스 피드는 시간 흐름 역순으로 표시되어야 한다.
- 한 명의 사용자는 최대 5000명의 친구를 가질 수 있다.
- 트래픽 규모는 매일 천만 명이 방문한다고 가정한다.
- 피드에는 이미지나 비디오 스토리도 올라올 수 있다.
2단계 개략적 설계안 제시 및 동의 구하기
- 피드 발행 → 사용자가 스토리를 포스팅하면 해당 데이터를 캐시와 데이터베이스에 기록하고, 새 포스팅은 친구의 뉴스 피드에 전송된다.
- 뉴스 피드 생성 → 모든 친구의 포스팅을 시간 흐름의 역순으로 모아서 만든다고 가정한다.