System Design PrimerLearn How to Design Large-Scale Systems
  • Introduction
  • Performance vs scalability
  • Latency vs throughput
  • Availability vs consistency
  • Consistency patterns
  • Availability patterns
  • Domain name system
  • Content delivery network
  • Load balancer
  • Reverse proxy
  • Application layer
    • RDBMS
    • NoSQL
    • SQL or NoSQL
  • Cache
  • Asynchronism
    • Overview
    • HTTP
    • TCP
    • UDP
    • RPC and REST
  • Security
    • Overview
    • Powers of two
    • Latency numbers
    • Interview questions
    • Real world architectures
    • Company architectures
    • Company engineering blogs
  • Introduction
  • Performance vs scalability
  • Latency vs throughput
  • Availability vs consistency
  • Consistency patterns
  • Availability patterns
  • Domain name system
  • Content delivery network
  • Load balancer
  • Reverse proxy
  • Application layer
    • RDBMS
    • NoSQL
    • SQL or NoSQL
  • Cache
  • Asynchronism
    • Overview
    • HTTP
    • TCP
    • UDP
    • RPC and REST
  • Security
    • Overview
    • Powers of two
    • Latency numbers
    • Interview questions
    • Real world architectures
    • Company architectures
    • Company engineering blogs

Appendix#

You'll sometimes be asked to do 'back-of-the-envelope' estimates. For example, you might need to determine how long it will take to generate 100 image thumbnails from disk or how much memory a data structure will take. The Powers of two table and Latency numbers every programmer should know are handy references.

Security
Powers of two

MIT 2022 © Jeffrey Liu.
Edit this page on GitHub
  • Appendix