8章Curator:ZooKeeperの高レベルAPI

CuratorはZooKeeper上に構築された一連の高レベルライブラリである。Curatorの目的の1つは、ZooKeeperハンドルをユーザに代わって管理し、接続管理に起因する複雑さを、ある程度(理想的にはすべて)取り除くことにある。すでに見てきたように、接続管理は面倒なことが多いので、Curatorが便利な場合も多々あるだろう。

ハンドルを管理する一環として、Curatorは開発者がよく利用する一連のレシピを実装している。レシピには、ベストプラクティスや、すでに知られているエッジケース処理が取り込まれている。例えば、ロックやバリア、キャッシュなどの基本機能要素のレシピが実装されている。createdeletegetData、などのZooKeeperの操作に関しては、フルーエントスタイルと呼ばれる、メソッド呼び出しを連ねるスタイルを実装し、プログラミングを効率化する。さらに、名前空間や自動再接続などのアプリケーションをより頑健にするための機能を提供している。

Curatorは元々Netflixで実装され寄贈されたもので、最近Apacheソフトウェア財団のトップレベルプロジェクトとなった。

本章では、サンプルプログラムのマスタをCuratorの機能を用いて実装する。本章の目標は、Curatorについて詳細で広範な議論をすることではなく、単にCuratorを紹介し、ZooKeeperアプリケーションを実装する上で有用な機能を説明することだ。機能の詳細に関してはプロジェクトページ(http://bit.ly/1grgTNU)を参照してほしい。

8.1 Curatorクライアント

ZooKeeperと同様にCuratorでも、まずはクライアントを作らなければならない。 ...

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.