Distributed Systems
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