가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 정리 15장 구글 드라이브 설계
요약
가상 면접 사례로 배우는 대규모 시스템 설계 기초 리뷰
아키텍처 개념을 실제 설계 판단에 연결하기 위한 참고 노트입니다.
핵심 포인트
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초 리뷰
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 15장 구글 드라이브 설계
- 개략적인 설계안
지식 그래프
정리 내용
가상 면접 사례로 배우는 대규모 시스템 설계 기초
학습 목적으로 정리한 내용으로 문제가 있다면 내리겠습니다.
(이 책은 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 인사이트에 있습니다. 저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단 복제를 금합니다.)
15장 구글 드라이브 설계
- 파일 추가
- 파일 다운로드
- 여러 단말의 동기화
- 파일 갱신 이력 조회
- 파일 공유
- 파일이 편집되거나 삭제되거나 새롭게 공유될 때 알림 표시
개략적인 설계안
- 파일을 올리고 다운로드 하는 과정을 처리할 웹 서버
- 사용자 데이터, 로그인 정보, 파일 정보 등 메타데이터를 보관할 데이터베이스
- 파일을 저장할 저장소 시스템
- 단순 업로드와 이어 올리기 두가지 방 지원

- 사용자 단말 : 클라이언트
- 블록 저장소 서버 : 파일 블록을 클라우드 저장소에 업로드하는 서버다. 블로 저장소는 블록 수준 저장소라고 불리우며 클라우드 환경에서 데이터 파일을 저장하는 기술이다. 이 저장소는 파일을 여러개의 블록으로 나눠 저장하며, 각 블록에는 고유 해시값이 할당된다.
- 클라우드 저장소 : 블록단위로 나뉘어 클라우드 저장소에 보관됨
- 아카이빙 저장소 : 오랫동안 사용하지 않은 비활성 데이터를 저장하기 위한 저장소
- 로드밸런서 : API요청을 고르게 API서버에 분산한다.
- API서버 : 파일 업로드 외에 거의 모든 기능을 담당하는 섭
- 메타데이터 데이터베이스 : 사용자 파일 블록 버전 등 메타데이터 저장
- 캐시 : 성능을 높이기 위한 고성능 메모리 저장소
- 알림 서비스 : 특정 이벤트 발생 시 클라이언트에게 이벤트를 알리는 시스템
- 오프라인 사용자 백업 큐 : 클라이언트 접속 중이 아니라 최신 상태를 확인할 수 없을 때 느 해당 정보를 이 큐에 두어 클라이언트 접속 시 동기화 과정 진행

학습 목적으로 정리한 내용으로 문제가 있다면 내리겠습니다.
(이 책은 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 인사이트에 있습니다. 저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단 복제를 금합니다.)
출처
- 원문: https://www.notion.so/15-245172a556d680b58fccfdb39b475b3b
- Vault path: wiki/notes/system-design/가상-면접-사례로-배우는-대규모-시스템-설계-기초---정리-15장-구글-드라이브-설계.md