📚 들어가며
AlexXu『가상 면접 사례로 배우는 대규모 시스템 설계 기초(System Design Interview)』을 읽고 가장 마지막에 이 글이 인상 깊었다.
좋은 시스템을 설계하려면 다년간 많은 지식을 쌓아야 한다. 지식을 쌓는 한가지 지름길은, 실세계에서 쓰이는 시스템의 구조를 공부하는 것이다. 아래에 도움될 만한 자료들을 정리해 보았다.
가능하다면 다양한 글을 볼 생각이고 , 관련된 기술 블로그를 정리해둔다.
1. 기업별 아키텍처 & 사례 연구 (Case Studies)
실제 대규모 트래픽을 처리하는 기업들이 겪은 문제와 해결책을 담은 핵심 자료들입니다.
| 기업 / 주제 | 내용 (한글/영문) | 링크 |
|---|---|---|
|
타임라인: 비정규화의 힘 (Facebook Timeline: Brought to you by the power of denormalization) |
Link | |
|
타임라인: 한 사람의 인생을 담기에 충분한 규모 확장성 (Building Timeline: Scaling up to hold your life story) |
Link | |
|
페이스북 채팅 아키텍처 (Facebook Chat) |
Link | |
|
Erlang 사용 사례 (Erlang at Facebook) |
Link | |
|
Haystack: 사진 저장소 아키텍처 (Finding a needle in Haystack: Facebook's photo storage) |
Link | |
|
멀티피드: 재설계를 통한 효율성과 성능 향상 (Serving Facebook Multifeed) |
Link | |
|
멤캐시(Memcache) 시스템의 규모 확장성 (Scaling Memcache at Facebook) |
Link | |
|
TAO: 소셜 그래프 분산 저장소 (TAO: Facebook's Distributed Data Store for the Social Graph) |
Link | |
|
왓츠앱(WhatsApp) 아키텍처 분석 (The WhatsApp Architecture Facebook Bought For $19 Billion) |
Link | |
| Amazon |
아마존 아키텍처 (Amazon Architecture) |
Link |
| Amazon |
다이나모: 고가용성 키-값 저장소 (Dynamo: Amazon's Highly Available Key-value Store) |
Link |
|
구글 아키텍처 (Google Architecture) |
Link | |
|
GFS: 구글 파일 시스템 (The Google File System) |
Link | |
|
빅테이블: 구조화된 데이터 분산 저장소 (Bigtable: A Distributed Storage System for Structured Data) |
Link | |
|
차이 기반 동기화 (델타 동기화) (Differential Synchronization) |
Link | |
| YouTube |
유튜브 아키텍처 (YouTube Architecture) |
Link |
| YouTube |
유튜브의 규모 확장성 (YouTube Scalability) |
Link |
| Netflix |
넷플릭스 기술 스택 360도 분석 (A 360 Degree View Of The Entire Netflix Stack) |
Link |
| Netflix |
A/B 테스팅 플랫폼 (It's All A/Bout Testing) |
Link |
| Netflix |
추천 시스템 1부 (Netflix Recommendations: Beyond the 5 stars Part 1) |
Link |
| Netflix |
추천 시스템 2부 (Netflix Recommendations: Beyond the 5 stars Part 2) |
Link |
|
1억 5천만 활성 사용자를 감당하는 아키텍처 (The Architecture Twitter Uses To Deal With 150M Active Users) |
Link | |
|
트위터를 10000배 빠르게 만든 비결 (Scaling Twitter) |
Link | |
|
스노플레이크: 유일 ID 생성기 (Announcing Snowflake) |
Link | |
|
타임라인과 규모 확장성 문제 (Timelines at Scale) |
Link | |
|
인스타그램 아키텍처 (14 Million Users, Terabytes Of Photos...) |
Link | |
| Uber |
실시간 마켓 플랫폼 확장 전략 (How Uber Scales Their Real-Time Market Platform) |
Link |
|
핀터레스트 규모 확장성 (Scaling Pinterest) |
Link | |
|
아키텍처 업데이트 (Pinterest Architecture Update) |
Link | |
|
링크드인 규모 확장성의 역사 (A Brief History of Scaling Linkedin) |
Link | |
| Flickr |
플리커 아키텍처 (Flickr Architecture) |
Link |
| Dropbox |
드롭박스 규모 확장기 (How We've Scaled Dropbox) |
Link |
2. 회사별 엔지니어링 블로그 모음
면접 전 해당 회사의 기술 블로그를 확인하면 사용 기술(Stack)과 관심사를 파악하는 데 큰 도움이 됩니다. 정기적으로 살펴보는 습관을 들이는 것을 추천합니다.
| 회사명 | 블로그 주소 |
|---|---|
| https://developers.googleblog.com | |
| Facebook (Meta) | https://engineering.fb.com/ |
| Netflix | https://netflixtechblog.com/ |
| Twitter (X) | https://blog.twitter.com/engineering |
| Amazon | https://developer.amazon.com/blogs |
| Uber | http://eng.uber.com |
| Airbnb | https://medium.com/airbnb-engineering |
| https://instagram-engineering.com/ | |
| https://engineering.linkedin.com/blog | |
| Slack | https://slack.engineering |
| https://medium.com/pinterest-engineering | |
| Dropbox | https://blogs.dropbox.com/tech |
| Spotify | https://engineering.atspotify.com/ |
| GitHub | https://github.blog/category/engineering/ |
| Line | https://engineering.linecorp.com/ko/blog/ |
| Kakao | https://tech.kakao.com/ |
| Naver | https://d2.naver.com/home |
| High Scalability | http://highscalability.com (강력 추천) |
🔖 출처 및 참고
도서: 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (Alex Xu 저 / 이병준 역, 인사이트)
Top comments (0)