このところ、Serfのコードを読んでいました。一旦、読んで理解した内容をまとめてみたいと思います。 Packages Serfは大きく次の2つのパッケージに分かれており、各々の役割は以下のようになっています。 memberlist クラスタのノードの状態管理 イベントの発行 serf コマンドの提供 イベントをフックして任意のスクリプトを実行する仕組み クラスタの状態のスナップショットの作成とリストア そして、serfはパッケージはmemberlistパッケージに依存しています。 今回はmemberlistについて分かったことを書いていきます。 Memberlist Summary memberlistはSerfクラスタの各ノード内に1つずつ存在しており、Serfクラスタ内の全ノード情報を保持しています。この保持しているノード情報が、Serfクラスタのノード間でやり取り(full stat