#시스템 디자인 6
-
시스템 디자인 - Design A Rate Limiter
이번 챕터는 시스템을 폭주하는 트래픽으로부터 지키는 처리율 제한기(rate limiter)로 마무리하려 합니다. Rate Limiter란? 그리고 왜 필요한가? 특정 클라이언트가 초당 수천 번씩 요청했을 때, 그 부하가 시스템 뒤의
-
시스템 디자인 - Design A Search Autocomplete System
4편에서 쓰기와 읽기 모델을 상황에 맞게 분배하는 트레이드오프를 살펴봤었습니다. 이번엔 그 발상이 가장 선명하게 드러나는 검색과 자동완성(autocomplete)을 파볼 겁니다. 책 내용의 검색어 자동완성 챕터를 정리하다 보니, 지금
-
시스템 디자인 - Design A News Feed System
이번 편의 뉴스피드(news feed) 설계는 읽기 중심 시스템을 고민해본 사람이라면 금방 익숙해질 주제일 듯합니다. 뉴스피드는 두 흐름으로 쪼개진다 책 내용에서는 뉴스피드를 두 흐름으로 나눠서 봅니다. - 피드 발행: 사용자가 글을
-
시스템 디자인 - Design A Key-Value Store
2편에서 데이터를 여러 노드에 어떻게 나눠 담는지를 살펴봤습니다. 그럼 그렇게 나눈 데이터를 복제하고, 일관성을 맞추는 건 어떻게 할까요. 분산 키-값 저장소(key-value store) 설계가 이 질문에 대한 해답을 어느 정도 제
-
시스템 디자인 - Design Consistent Hashing
1편에서 샤딩과 캐시 노드 분산을 얘기하면서 "노드를 추가·제거할 때의 복잡도"를 짚고 넘어갔습니다. 그 복잡도를 정면으로 다루는 챕터가 일관성 해싱(consistent hashing)이라고 보면 됩니다. 책으로만 보면 "그렇구나"
-
시스템 디자인 - Scale From Zero To Millions Of Users
요즘 스터디에서 System Design Interview — An Insider's Guide (Alex Xu)를 같이 보고 있습니다. 책 내용이 워낙 방대해서.. 😢 중요하다고 생각되는 챕터 몇 가지만 골라 시리즈로 정리해보려고