本文へスキップ

Zookeeperとは?

ずーきーぱー

ZooKeeperとは、分散システムにおける設定管理・調整・名前付けサービスを提供するオープンソースのミドルウェアです。

ZooKeeperは、Apache Software Foundationが開発・管理する分散協調サービスです。複数サーバープロセスが連携して動作する分散システムでは、設定情報の共有・リーダー選出・サービス登録といった複雑な調整処理が必要になりますが、ZooKeeperはこれらを一元的に担うソフトウェアです。

ZooKeeperはZNodeと呼ばれる階層的なデータ構造(ファイルシステムのディレクトリに似た木構造)を持ち、各ノードに少量のデータを保存できます。クライアントはこのZNodeを監視(Watch)し、変更があれば即座に通知を受け取ることができます。この仕組みを使うことで、分散した複数のプロセスが一貫した状態を保ちながら動作できるようになります。

主な用途は次のとおりです。

  • 分散ロック:複数のノードが同一リソースへ同時アクセスするのを防ぐ
  • リーダー選出:クラスタ内でひとつのリーダーノードを決定する
  • 設定管理:全ノードが参照する設定値を集中管理する
  • サービスディスカバリ:どのサーバーがどのサービスを提供しているかを登録・検索する

KafkaやHadoop、HBaseなど多くの大規模分散システムがZooKeeperを内部で利用しています。近年はKafkaがZooKeeperへの依存を廃止しつつある(KRaftモード)など変化もありますが、分散協調の基盤技術として長く使われてきた重要なソフトウェアです。

使い方・例文

「KafkaクラスタのブローカーはZooKeeperを使ってリーダーパーティションを管理している」のように、大規模な分散処理基盤の設計や運用について語る場面で登場します。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語