system design primer

来源:互联网 发布:一键海淘 知乎 编辑:程序博客网 时间:2024/06/14 19:16

github.com/donnemartin/system-design-primer


Index of system design topics

Summaries of various system design topics, including pros and cons. Everything is a trade-off.

Each section contains links to more in-depth resources.


  • System design topics: start here
    • Step 1: Review the scalability video lecture
    • Step 2: Review the scalability article
    • Next steps
  • Performance vs scalability
  • Latency vs throughput
  • Availability vs consistency
    • CAP theorem
      • CP - consistency and partition tolerance
      • AP - availability and partition tolerance
  • Consistency patterns
    • Weak consistency
    • Eventual consistency
    • Strong consistency
  • Availability patterns
    • Fail-over
    • Replication
  • Domain name system
  • Content delivery network
    • Push CDNs
    • Pull CDNs
  • Load balancer
    • Active-passive
    • Active-active
    • Layer 4 load balancing
    • Layer 7 load balancing
    • Horizontal scaling
  • Reverse proxy (web server)
    • Load balancer vs reverse proxy
  • Application layer
    • Microservices
    • Service discovery
  • Database
    • Relational database management system (RDBMS)
      • Master-slave replication
      • Master-master replication
      • Federation
      • Sharding
      • Denormalization
      • SQL tuning
    • NoSQL
      • Key-value store
      • Document store
      • Wide column store
      • Graph Database
    • SQL or NoSQL
  • Cache
    • Client caching
    • CDN caching
    • Web server caching
    • Database caching
    • Application caching
    • Caching at the database query level
    • Caching at the object level
    • When to update the cache
      • Cache-aside
      • Write-through
      • Write-behind (write-back)
      • Refresh-ahead
  • Asynchronism
    • Message queues
    • Task queues
    • Back pressure
  • Communication
    • Transmission control protocol (TCP)
    • User datagram protocol (UDP)
    • Remote procedure call (RPC)
    • Representational state transfer (REST)
  • Security
  • Appendix
    • Powers of two table
    • Latency numbers every programmer should know
    • Additional system design interview questions
    • Real world architectures
    • Company architectures
    • Company engineering blogs
  • Under development
  • Credits
  • Contact info
  • License

0 0
原创粉丝点击