Some Interesting Topics on Distributed Systems

Vertical vs horizontal scaling

CAP theorem

ACID vs BASE

Partitioning/Sharding

Consistent Hashing

Optimistic vs pessimistic locking

Strong vs eventual consistency

RelationalDB vs NoSQL

Types of NoSQL

  • Key value

  • Wide column

  • Document-based

  • Graph-based

Caching

Data center/racks/hosts

CPU/memory/Hard drives/Network bandwidth

Random vs sequential read/writes to disk

HTTP vs http2 vs WebSocket

TCP/IP model

ipv4 vs ipv6

TCP vs UDP

DNS lookup

Http & TLS

Public key infrastructure and certificate authority(CA)

Symmetric vs asymmetric encryption

Load Balancer

CDNs & Edges

Bloom filters and Count-Min sketch

Paxos

Leader election

Design patterns and Object-oriented design

Virtual machines and containers

Pub-sub architecture

MapReduce

Multithreading, locks, synchronization, CAS(compare and set)

Distributed Hash Table

Collaborative filtering

References :

https://dsrg.pdos.csail.mit.edu/papers/

6.824: Distributed Systems