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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access