The leadership myth in replicated databases (2023)(maheshba.bitbucket.io)
maheshba.bitbucket.io
The leadership myth in replicated databases (2023)
https://maheshba.bitbucket.io/blog/2023/05/06/Leadership.html
https://maheshba.bitbucket.io/blog/2023/05/06/Leadership.html
This youtube video was particularly helpful in learning about consensus algorithms, specifically Paxos/MultiPaxos:
https://www.youtube.com/watch?v=JEpsBg0AO6o
John Ousterhout (author of Raft) walks through Paxos/MultiPaxos as outlined by Leslie Lamport, and then talks about a series of optimizations to improve performance. One key optimization is transitioning from performing consensus on a single log-slot proposal, to the entire log-slot altogether, which mitigates failed consensus rounds, and is where concepts like leader nodes emerge. If your familiar with Raft and Paxos, while listening to these optimization applied to MultiPaxos, you can kind of notice it to begin to resemble Raft.
The course I took was through Georgia Tech, but was largely based around a framework developed at the University of Washington called dslabs:
https://github.com/emichael/dslabs
https://ellismichael.com/dslabs/452%20Discussion%20Section%2...
It was super informative for my learning about the foundations of distributed systems, namely consensus algorithms. I'd highly recommend it for anyone interested in learning more. Although fair warning, the programming assignments were quite difficult and time consuming.