본문으로 건너뛰기

Archive · Series

가면사배 시리즈

앞선 기록의 맥락을 이어가며 순서대로 읽을 수 있는 연속 노트입니다.

15 notes

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