読者です 読者をやめる 読者になる 読者になる

seratch's weblog in Japanese

About Scala, Java and Ruby programming in Japaense. If you need English information, go to http://blog.seratch.net/

#finagle_hack で ZooKeeperServerSetCluster を使ったデモをつくりました

ZooKeeperServerSetCluster を使って Finagle サーバのクラスタをつくってみました。

まずはデモをご覧ください。発表会のときに動画を用意しておけばよかったのですが、そこまで手が回りませんでした。



個々の Finagle サーバはそれぞれ単体のサーバとして立ち上がっているだけであり、サーバ側でお互いを意識している訳ではありません。

Finagle クライアント側に ZooKeeper への接続設定と、サーバの接続先(java.net.SocketAddress)情報のリストを持たせます。これらの情報を ClientBuilder で渡すと、リクエストのロードバランシングや障害検知、フェールオーバーなどをよしなにやってくれるようになります。


今回のデモのソースコードは GitHub で公開しています。ZooKeeper さえ起動していれば割と簡単に動かせると思います。

https://github.com/seratch/finagle-cluster-demo


Web アプリは Play Framework 2.0.1 で書いていて Finagle Server は普通に ServerBuilder の build で立ち上げて close で停止、Client は ClientBuilder でつくったクライアントを保持する Thread を立ち上げています。画面上にサーバの様子を表示するのは Play の comet でやっています。

かなり勢いでつくったのでいけてないところもあるとは思いますが、興味があればご覧ください。


Twitter Japan はサイコーでした。 #ステマ

今回、企画してくださった @gakuzzzz さん @kmizu さんと会場提供のみならずいろいろとやってくださった @yusukey さん、ありがとうございました。

またこういう機会があるといいですね!