# `Raft`:キーコンセプト
+ `Leader` 選挙
  + `leader`になるノードを投票で選択する
  + クラッシュ/ネットワーク分離が発生したら、新しい`leader`を選択する
+ ログ複製
  + `Leader` はリクエストの受信とログのローカルでの追加を行います
  + `Leader` はログを他のノードに複製 (一貫性のないログを上書きする)
+ 制限事項
  + `Leader`は半数以上のノードから投票されています
  + ログは半数以上のノードに複製する必要がある
  + 最新のログを保持しているノードを選択できます
------------------------------------------------------------
`Leader` の選定は `Raft` のコア機能なので、`Raft` は `Semi-Sync` のレプリケーションとは異なります。

`Raft`のメンバーは、候補者、`leader`と`follower`の間で役割を切り替えます。

ログの複製は、ほとんどのメンバーが行う必要があります。

