[가면사배 시리즈 #15] 구글 드라이브 설계 - 클라우드 파일 동기화의 설계
가면사배 스터디 마지막 10주차! 구글 드라이브나 드롭박스 같은 대규모 클라우드 저장소의 핵심인 블록 저장소 아키텍처와 델타 동기화 원리를 정리했습니다. 500PB의 대규모 데이터를 안정적으로 관리하고 실시간 동기화를 구현하는 설계 방식을 배우며 시리즈를 마무리합니다.
15개의 글
가면사배 스터디 마지막 10주차! 구글 드라이브나 드롭박스 같은 대규모 클라우드 저장소의 핵심인 블록 저장소 아키텍처와 델타 동기화 원리를 정리했습니다. 500PB의 대규모 데이터를 안정적으로 관리하고 실시간 동기화를 구현하는 설계 방식을 배우며 시리즈를 마무리합니다.
가면사배 스터디 9주차! 매일 50억 개의 비디오가 재생되는 유튜브의 거대 아키텍처를 파헤쳐봤습니다. 비디오 업로드부터 트랜스코딩, CDN 비용 최적화까지 대규모 미디어 시스템의 정수를 정리했습니다.
가면사배 스터디 8주차! 구글이나 아마존 검색창에서 흔히 접하는 검색어 자동완성 시스템의 설계 원리를 정리했습니다. 트라이(Trie) 자료구조와 노드 내 캐싱 기법을 통해 100ms 이내의 응답 속도를 달성하는 과정을 담았습니다.
가면사배 스터디 7주차! 우리 일상에서 가장 많이 사용하는 기능 중 하나인 채팅 시스템의 설계 원리를 정리했습니다. 실시간 통신의 핵심인 웹소켓부터 대규모 메시지 저장 전략까지, 1:1 채팅과 그룹 채팅을 모두 아우르는 아키텍처를 함께 살펴봅니다.
가면사배 스터디 6주차! 소셜 미디어의 핵심인 뉴스 피드 시스템이 어떻게 수천만 사용자에게 데이터를 뿌려주는지, 팬아웃 전략과 캐시 구조를 중심으로 정리했습니다.
가면사배 스터디 6주차! 수백만 사용자에게 푸시 알림, SMS, 이메일을 안정적으로 보내기 위한 알림 시스템 설계 과정을 정리했습니다. 메시지 큐와 비동기 처리를 활용해 확장성과 안정성을 동시에 잡는 방법을 다룹니다.
가면사배 스터디 5주차! 이번에는 검색 엔진의 심장이라 할 수 있는 웹 크롤러 설계에 대해 정리했습니다. 단순한 다운로더를 넘어 규모 확장성과 예의까지 고려해야 하는 복잡한 분산 시스템의 세계를 확인해보세요.
가면사배 스터디 5주차! 긴 URL을 짧고 예쁘게 만드는 URL 단축기 시스템의 설계 원리를 정리했습니다. 301/302 리디렉션의 차이부터 Base-62 변환까지, 대규모 트래픽을 견디는 설계 노하우를 공유합니다.
가면사배 스터디 4주차! 분산 환경에서 유일성이 보장되는 ID를 생성하는 다양한 방법과 트위터 스노플레이크의 설계 원리를 깊이 있게 정리했습니다. 64비트 구조의 효율성과 실제 운영 시 고려해야 할 시계 동기화 이슈까지 다룹니다.
가면사배 스터디 2주차! 1장에서 단일 서버부터 수백만 사용자까지의 시스템 진화 과정을 배웠다면, 이번 2장에서는 그런 시스템을 설계하기 전에 반드시 필요한 개략적인 규모 추정(Back-of-the-envelope Estimation)에 대해 다룹니다.처음에는 "봉투 뒷면 계산"이라는 번역이 좀 어색했는데, 실제로 읽어보니 정말 핵심적인 내용이더라고요. 시
가면사배 스터디 4주차! 분산 키-값 저장소의 설계 원리와 CAP 정리, 일관성 모델 등 대규모 시스템의 기반이 되는 저장소 기술을 정리했습니다. 특히 분산 환경에서 발생하는 데이터 충돌 해결과 장애 처리 메커니즘을 보며 많은 영감을 얻었습니다.
가면사배 스터디 3주차! 수평적 확장성을 구현할 때 가장 큰 걸림돌인 해시 키 재배치 문제를 해결하는 '안정 해시'의 마법 같은 원리를 정리했습니다. 서버 추가나 제거 시에도 시스템 전체가 흔들리지 않게 만드는 해시 링과 가상 노드 기법을 통해 분산 시스템의 균형을 잡는 방법을 알아보려고 합니다.
가면사배 스터디 3주차! 갑작스러운 트래픽 폭주나 악의적인 공격으로부터 서버를 안전하게 보호하는 처리율 제한 장치의 설계 원리를 정리했습니다.
가면사배 스터디 2주차! 시스템 설계 면접의 본질과 효과적인 4단계 접근법을 정리했습니다. 면접관을 팀원으로 생각하고 협력적으로 문제를 해결해나가는 과정이 정말 중요하더라고요.
항해 플러스 동기들과 함께 "가상 면접 사례로 배우는 대규모 시스템 설계 기초(가면사배)" 독서 스터디를 시작했습니다!앞으로 각 장마다 학습한 내용을 정리해서 공유할 예정인데, 첫 번째로 1장 "사용자 수에 따른 규모 확장성"을 읽고 나니 정말 많은 걸 배웠더라고요.단일 서버에서 수백만 사용자를 지원하는 시스템까지의 진화 과정을 단계별로 설명해놓은 게 인상