May 15, 2025
" If you can solve it without distributed systems then you should do it , try everything else then try distributed systems because it can get difficult "
RAFT for fault tolerance ( ofc -> out of context )
we have to talk about systems that provide all these 3 types of infrastructure :
" dream is to build systems that look like non distributed systems to user but are actually vast high performant fault tolerant systems underneath "
for implementation we use
usual goal of a distributed system is to address scalability , for eg. 2x computer -> 2x throughput , best systems designs are which can scale by just getting more of same resources ( money solves the problem instead of developers )
distributed systems turns problems of faults like network failing , or almost anything related to systems which are rare to see in single servers to very common and constant in distributed systems with lots of systems , something will most certainly will fail , all the best :)
lets say we have a multi server based key value store , we have operation like get and put while these operations may sound simple with respect to single server , they can have issues of consistency in a distributed system with multiple servers like
we have 2 servers 1 is replication of first having exactly same data lets say key value store having just 1 value of (1,20 ) in both tables
| Key | Value |
|---|---|
| 1 | 20 |
| 2 | 21 |
now if a client sent an update request like it first update key value in server 1 to be (1,21) but before it could update in server 2 , the server connection or server itself crashes due to which server 2 still has value of (1,20), hence consistency issue, now if user comes to get request sometimes it might get (1,21) sometimes (1,20) , BAD
These are my raw notes from MIT 6.824 Distributed Systems. If you found this helpful or want to discuss distributed systems further, feel free to reach out on Twitter / X or LinkedIn.