7章Cクライアント
ZooKeeperのインタフェースとしては、Javaクライアントが最も広く用いられているが、Cクライアントも広く開発者に用いられており、他言語版のインタフェースを構築する際の基盤ともなっている。C APIを用いたZooKeeperアプリケーションの開発手法を知るために、すでに実装したマスタ・ワーカの例をCで再実装してみよう。
C APIを使う際にはZooKeeper配布パッケージに入っているzookeeper.h
を参照するとよい。クライアントをビルドする方法はREADME
に書かれている。ant compile-native
を使って、自動ビルドしてもよい。コードを見ていく前に、すぐに始められるように、開発環境を設定する方法を見ておこう。
Cクライアントをビルドすると、2つのライブラリができる。 1つはマルチスレッドクライアント用、もう1つはシングルスレッド用である。本章ではほとんどの場合、マルチスレッドライブラリを仮定している。最後のほうでシングルスレッド版についても述べるが、マルチスレッド版を使うことを推奨する。
7.1 開発環境の設定
Javaに関しては、ZooKeeperの配布パッケージに、どのプラットフォームでも実行できるコンパイル済みのJARファイルを入れることができた。Cを使ったZooKeeperネイティブアプリケーションをコンパイルするには、必要な共有ライブラリを先にビルドしておかなければならない。幸運なことに、簡単にライブラリをビルドする方法が用意されている。
一番簡単なのは、ビルドツール(http://ant.apache.org)を使う方法だ。ZooKeeperの配布パッケージを解凍すると、build.xml
というファイルがある。このファイルには、antでビルドするための手順が書かれている。他にもautomake、autoconf、cppunitが必要だが、Linuxを使っているのであれば、ディストリビューションパッケージとして入手できるだろう。WindowsではCygwinが提供している。Mac ...
Get ZooKeeperによる分散システム管理 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.