Skip to content

第十六章:学习永无止境 (The Learning Continues)

设计优秀的系统需要多年的知识积累。一个快速提升的捷径是深入了解真实世界的系统架构。以下是一些有帮助的阅读材料。我们强烈建议你关注其中所共享的设计原则以及背后的技术。研究每一项技术并理解它解决的问题,是加强知识储备和完善设计过程的好方法。

真实世界的系统 (Real-world systems)

The following materials can help you understand general design ideas of real system architectures behind different companies.

Facebook Timeline: Brought To You By The Power Of Denormalization: https://goo.gl/FCNrbm

Scale at Facebook: https://goo.gl/NGTdCs

Building Timeline: Scaling up to hold your life story: https://goo.gl/8p5wDV

Erlang at Facebook (Facebook chat): https://goo.gl/zSLHrj

Facebook Chat: https://goo.gl/qzSiWC

Finding a needle in Haystack: Facebook’s photo storage: https://goo.gl/edj4FL

Serving Facebook Multifeed: Efficiency, performance gains through redesign: https://goo.gl/adFVMQ

Scaling Memcache at Facebook: https://goo.gl/rZiAhX

TAO: Facebook’s Distributed Data Store for the Social Graph: https://goo.gl/Tk1DyH

Amazon Architecture: https://goo.gl/k4feoW

Dynamo: Amazon’s Highly Available Key-value Store: https://goo.gl/C7zxDL

A 360 Degree View Of The Entire Netflix Stack: https://goo.gl/rYSDTz

It’s All A/Bout Testing: The Netflix Experimentation Platform: https://goo.gl/agbA4K

Netflix Recommendations: Beyond the 5 stars (Part 1): https://goo.gl/A4FkYi

Netflix Recommendations: Beyond the 5 stars (Part 2): https://goo.gl/XNPMXm

Google Architecture: https://goo.gl/dvkDiY

The Google File System (Google Docs): https://goo.gl/xj5n9R

Differential Synchronization (Google Docs): https://goo.gl/9zqG7x

YouTube Architecture: https://goo.gl/mCPRUF

Seattle Conference on Scalability: YouTube Scalability: https://goo.gl/dH3zYq

Bigtable: A Distributed Storage System for Structured Data: https://goo.gl/6NaZca

Instagram Architecture: 14 Million Users, Terabytes Of Photos, 100s Of Instances, Dozens Of Technologies: https://goo.gl/s1VcW5

The Architecture Twitter Uses To Deal With 150M Active Users: https://goo.gl/EwvfRd

Scaling Twitter: Making Twitter 10000 Percent Faster: https://goo.gl/nYGC1k

Announcing Snowflake (Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees): https://goo.gl/GzVWYm

Timelines at Scale: https://goo.gl/8KbqTy

How Uber Scales Their Real-Time Market Platform: https://goo.gl/kGZuVy

Scaling Pinterest: https://goo.gl/KtmjW3

Pinterest Architecture Update: https://goo.gl/w6rRsf

A Brief History of Scaling LinkedIn: https://goo.gl/8A1Pi8

Flickr Architecture: https://goo.gl/dWtgYa

How We've Scaled Dropbox: https://goo.gl/NjBDtC

The WhatsApp Architecture Facebook Bought For $19 Billion: https://bit.ly/2AHJnFn

公司工程博客 (Company engineering blogs)

如果你准备面试某家公司,阅读他们的工程博客并了解所采用的技术和系统是个非常好的主意。此外,工程博客还提供了关于某些领域的宝贵见解。经常阅读这些博客可以帮助我们成为更优秀的工程师。

以下是一些知名大公司和初创企业的工程博客列表:

Airbnb: https://medium.com/airbnb-engineering

Amazon: https://developer.amazon.com/blogs

Asana: https://blog.asana.com/category/eng

Atlassian: https://developer.atlassian.com/blog

Bittorrent: http://engineering.bittorrent.com

Cloudera: https://blog.cloudera.com

Docker: https://blog.docker.com

Dropbox: https://blogs.dropbox.com/tech

eBay: http://www.ebaytechblog.com

Facebook: https://code.facebook.com/posts

GitHub: https://githubengineering.com

Google: https://developers.googleblog.com

Groupon: https://engineering.groupon.com

Highscalability: http://highscalability.com

Instacart: https://tech.instacart.com

Instagram: https://engineering.instagram.com

Linkedin: https://engineering.linkedin.com/blog

Mixpanel: https://mixpanel.com/blog

Netflix: https://medium.com/netflix-techblog

Nextdoor: https://engblog.nextdoor.com

PayPal: https://www.paypal-engineering.com

Pinterest: https://engineering.pinterest.com

Quora: https://engineering.quora.com

Reddit: https://redditblog.com

Salesforce: https://developer.salesforce.com/blogs/engineering

Shopify: https://engineering.shopify.com

Slack: https://slack.engineering

Soundcloud: https://developers.soundcloud.com/blog

Spotify: https://labs.spotify.com

Stripe: https://stripe.com/blog/engineering

System design primer: https://github.com/donnemartin/system-design-primer

Twitter: https://blog.twitter.com/engineering/en_us.html

Thumbtack: https://www.thumbtack.com/engineering

Uber: http://eng.uber.com

Yahoo: https://yahooeng.tumblr.com

Yelp: https://engineeringblog.yelp.com

Zoom: https://medium.com/zoom-developer-blog