ビットコインの勉強の最中に、コンセンサスアルゴリズムについていろいろと調べていたのだが、じゃあ一般的に分散システムでコンセンサスってどうやってとるんだろう?ということに興味をもってコンセンサスアルゴリズムというものを知った。
最初は、ちょっと簡単そう(と言っても難しそうだが)Raftについて。
Raftの前にPaxosというアルゴリズムもあるらしいのだが、これはとても難しいらしいのでまずはRaftから。
論文とか読めばよかったのだけど、ものぐさなのでアニメーションだけ見ていた。っていうかこのページ凄いな!かなり分かりやすい。
図. Raftについて解説するアニメーション。
Raftの論文はこちら。
- In Search of an Understandable Consensus Algorithm (Extended Version)
https://raft.github.io/raft.pdf
Paxosについては、超絶頭の良い人たちの分かりやすい資料を見ないとさっぱりだ。
- Paxos
Paxos from Preferred Networks
www.slideshare.net