/system-design-primer

A collection of topics and resources to polish your System Design lenses :mag:

System Design Primer

A collection of topics and resources to polish your System Design lenses 🔍

Load Balancers

  • Advantages and Disadvantages
  • L4 vs L7 load balancers
  • Active-Passive vs Active-Active failover mechanism

Client Server connections

  • HTTP/2 vs HTTP/1.1
  • WebSockets
  • Server Sent Events

Caching

Message Brokers and Event Streaming

  • Idempotency and Retrial
  • Classic mirrored vs Quorom queues (RabbitMQ)
  • Raft consensus protocol

Databases

  • SQL vs NoSQL
  • ACID
  • Sharding
  • Replication : Master/Slave vs Master/Master

Consensus and Consistency

  • Eventual consistency vs Immediate consistency
  • Byzantine Generals Problem
  • Byzantine Fault Tolerance

GeoSpatial Data

  • Quad trees
  • R trees
  • Google S2

Low level Storage Fundamentals

  • Network Attached Storage (File Storage)
  • Storage Area Network (Block Storage)
  • Object Storage (Blobs + Id + Metadata)

API Gateways

  • Advantages and Disadvantages
  • Service Discovery
  • Authentication and Authorisation
  • Similarities and DisSimilarities with Service Mesh