18 继续学习
要设计出一个好的系统,需要多年的知识积累。有一个捷径是研究真实世界的系统架构。本文将介绍一些有帮助的阅读材料。 务必留意那些真实系统之间共通的原理和相同的底层技术。研究每个技术并了解它解决了什么问题, 这是一个巩固基础知识和完善设计过程的好方法。
有一些材料可以帮你理解不同公司产品的系统架构背后的一般设计思想。以下是一些经典的博客文章,建议你仔细阅读。
- Facebook Timeline:Brought to You by the Power of Denormalization
- Scale at Facebook
- Building Timeline:Scaling Up to Hold Your Life Story
- Erlang at Facebook (Facebook Chat)
- Facebook Chat
- Finding a Needle in Haystack:Facebook’s Photo Storage
- Serving Facebook Multifeed:Efficiency, Performance Gains through Redesign
- Scaling Memcache at Facebook
- TAO:Facebook’s Distributed Data Store for the Social Graph
- Amazon Architecture
- Dynamo:Amazon’s Highly Available Key-value Store
- A 360 Degree View of the Entire Netflix Stack
- It’s All About Testing:the Netflix Experimentation Platform
- Netflix Recommendations:Beyond the 5 stars (Part 1)
- Netflix Recommendations:Beyond the 5 stars (Part 2)
- Google Architecture
- The Google File System (Google Docs)
- Differential Synchronization (Google Docs)
- YouTube Architecture
- Seattle Conference on Scalability:YouTube Scalability
- Bigtable:A Distributed Storage System for Structured Data
- Instagram Architecture:14 Million Users, Terabytes of Photos, 100s of Instances, Dozens of Technologies•The Architecture Twitter Uses to Deal with 150M Active Users
- Scaling Twitter:Making Twitter 10000 Percent Faster
- Announcing Snowflake
- Timelines at Scale
- How Uber Scales Their Real-Time Market Platform
- Scaling Pinterest
- Pinterest Architecture Update
- A Brief History of Scaling LinkedIn
- Flickr Architecture
- How We’ve Scaled Dropbox
- The WhatsApp Architecture Facebook Bought for$19 Billion
如果你将要参加一家公司的面试,最好先阅读一下它的工程博客
,了解该公司采用的技术和系统架构
。此外,工程博客也提供了关于一些特定领域的宝贵见解,定期阅读其中的文章可以帮助我们成为更好的工程师。