The Patterns of Scalable, Reliable, and Performant Large-Scale Systems
Go to file
2018-03-16 20:51:53 +08:00
CONTRIBUTING.md Create CONTRIBUTING.md 2017-12-27 11:48:12 +08:00
README.md Architecture of Real-Time Presence Platform at LinkedIn 2018-03-16 20:51:53 +08:00

High Scalability, High Availability, and High Stability Back-end Design Patterns

An updated and curated list of selected readings to illustrate High Scalability, High Availability, and High Stability Back-end Design Patterns. Concepts are explained in the articles of notable engineers (Werner Vogels, James Hamilton, Jeff Atwood, Martin Fowler, Robert C. Martin, Tom White, Martin Kleppmann) and high quality reference sources (highscalability.com, infoq.com, official engineering blogs, etc). Case studies are taken from battle-tested systems those are serving millions to billions of users (Netflix, Alibaba, Flipkart, LINE, Spotify, etc).

What if your Back-end went slow?

Understand your problems: performance problem (slow for a single user) or scalability problem (fast for a single user but slow under heavy load) by reviewing design principles. You can also check some talks of elite engineers from tech giants (Google, Facebook, Instagram, etc) to see how they build and scale their systems.

What if your Back-end went down?

"Even if you lose all one day, you can build all over again if you retain your calm!" - Thuan Pham, CTO at Uber Technologies Inc.

For the future CTO of the next Uber :)

Checking out some system designs notes to get familiar with the interview process. However, before designing Whatsapp or Twitter on whiteboard in twenty minutes, you must understand thoroughly fundamental building blocks (IPC, OSI, TCP/IP, DB Indexing, etc). It is even better to take a course on Distributed Systems or Distributed Computing. Good luck!

Community Power

Contributions are greatly welcome! You may want to take a look at the contribution guidelines. If you find this project helpful, please help me share it on Twitter! 🇺🇸 or Weibo 🇨🇳. Thank you very much ❤️

Contents

Principles

Scalability

Availability

Stability

Performance

Others

System-Design

Talks

Books

Special Thanks

License

CC-BY

Copyright Benny (Quoc-Binh) Nguyen, 2018. Licensed under a Creative Commons Attribution 4.0 International License. This small work is dedicated to the wolves climbing the hill.