-rpc-addr=0.0.0.0:7373↑この操作を4台分行います。クライアントにおいてもインストールします。クライアントではserfを動かす必要はありません。Nameは一意である必要があります。同じ名前を使っているとうまく行きません。今回私が用いたマシンは以下のように命名しました。隣にIPアドレスがついていますがこれは個人によりけりだと思います。IPADDR:PORT」としてjoinします。具体的には以下のとおりです。nodes.Serfにリーダーの概念はないようです(Decentralizedってあるからそりゃそうですが)が、ひとまずある特定のノードのターミナル上で、joinコマンドで他のノードを追加してみました。それぞれのノードから追加してみたいのですがどうやれば良いのかよく分かりません。最初にjoinするときは、特定の存在しているメンバーに接続する必要があるようです。それは知っておく必要があるとのことです。P2Pでよく見られる最初の一歩問題ってやつですね。))さて、ノード一覧を取得してみます。クライアントのマシンのターミナルでatomノードに問い合わせします。以下のようにしてみます。無事、取得出来ました。他のserfノードに問い合わせても同じ結果が得られます。aliveもちろんCAP定理より明らかですが、これはAPであり、一貫性はweakです。次に、障害検知をしてみます。-rpc-addr=192.168.0.144:7373」を連打してみます。結果、8.3sec程度で障害を検知しました。↓のように、pikachuがfailedになっています。今度は逆にUTPケーブルを復活させてみます。5.1sec程度で復活しました↓。一度抜いてみますと、7.3sec程度でfailedとなりました。このように検出できるのは面白いですね。UTPケーブル引っこ抜きが障害の代表例かと言うとかなり怪しいのでは思ったので、ごく普通にpikachuノードのserfプロセスを落として検出までの時間を計測してみました。UTPケーブル引っこ抜きとあまり変わりありません。今度は復帰させてみました。16.8secでした。面倒なので試行回数を増やすことはしませんが、5sec程度で検知したり20sec程度掛かったりといろいろでした。1分以上掛かったこともありました。secondshttp://www.serfdom.io/intro/と書いていますが、数秒で検知と行きませんでした。私が何が間違ったコンフィグをしている可能性はあります。障害検知してみるを行いました。次回はイベントフックを試してみたいと思います。設定情報の保守、名前付け、分散同期化の提供、および各種グループサービスの提供を目的とした集中型サービスです。分散アプリケーションでは、こうした種類のサービスのすべてを何らかの形で利用しています。分散アプリケーションを実装する場合、実装のたびに大量の作業が発生し、それに伴って不可避的に生じるバグとレースコンディションの修正に追われるのが実状です。上に挙げた種類のサービスの実装は決して容易ではないので、アプリケーションでは当初はこれらのサービスの実装を適当に済ませることが多く、あとで変更が生じたりすると対応できずに管理が困難になります。これらのサービスが適切に実装されている場合でも、実装方法に違いがあると、アプリケーションを配置する段階で管理が複雑になります。これらのサービスの本質的な部分を取り出し、集中型のコーディネーションサービスへの非常にシンプルなインタフェースとして提供することを目的に開発されています。http://oss.infoscience.co.jp/hadoop/zookeeper/要は分散管理のためのサービスですね。複数台のマシンを活用していて、コンフィグなどを一元化しておきたい・一元化しておいてクライアントから書き換えたい、などの要求がよくあると思います。ネイティブアクセス可能のようです。インターフェースはなさそうですね。