FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

分散システムのコンセンサスアルゴリズムRaftについて調査

ビットコインの勉強の最中に、コンセンサスアルゴリズムについていろいろと調べていたのだが、じゃあ一般的に分散システムでコンセンサスってどうやってとるんだろう?ということに興味をもってコンセンサスアルゴリズムというものを知った。

最初は、ちょっと簡単そう(と言っても難しそうだが)Raftについて。

Raftの前にPaxosというアルゴリズムもあるらしいのだが、これはとても難しいらしいのでまずはRaftから。

論文とか読めばよかったのだけど、ものぐさなのでアニメーションだけ見ていた。っていうかこのページ凄いな!かなり分かりやすい。

Raft

f:id:msyksphinz:20180619235125p:plain
図. Raftについて解説するアニメーション。

Raftの論文はこちら。

  • In Search of an Understandable Consensus Algorithm (Extended Version)

https://raft.github.io/raft.pdf

Paxosについては、超絶頭の良い人たちの分かりやすい資料を見ないとさっぱりだ。

  • Paxos

www.slideshare.net