私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ZooKeeper のデータ モデルは、ファイル システムのツリー構造に似た特性を持っていますが、特に分散アプリケーション向けに設計されています。
ZooKeeper データ構造の主な機能は次のとおりです。
階層型名前空間 : ZooKeeper は、ファイル システムと同様の階層名前空間を提供します。各ノードは階層内に一意のパスを持ちます。
Zノード : ZooKeeper の各データ ノードは ZNode と呼ばれます (ファイル システムのファイルまたはディレクトリに似ています)。 ZNode は子ノードを持つことができ、階層構造を形成します。
永続ノード : 永続ノードは最も一般的なノード タイプです。一度作成されると、クライアントによって明示的に削除されない限り、存続します。 ZooKeeper サービスが再起動されても、永続ノードは失われません。
永続的なシーケンシャル : 永続的シーケンシャル ノードは永続的ノードの拡張であり、シーケンシャルな性質を持っています。 ZooKeeper を作成すると、グローバルな一意性を確保するために、親ノードによって維持されるシーケンス番号がノード名の末尾に追加されます。この種のノードは通常、分散キューなどの秩序ある配置が必要なシナリオを実装するために使用されます。
一時的な : 一時ノードのライフサイクルはクライアント セッションにバインドされています。ネットワークの問題またはクライアントのクラッシュによりクライアント セッションの有効期限が切れた場合、ZooKeeper はセッションによって作成されたすべての一時ノードを自動的に削除します。この機能により、一時ノードはロック メカニズムとリーダー選出の実装に最適になります。
エフェメラルシーケンシャル : 一時的順次ノードは、一時的ノードと永続的順次ノードの機能を組み合わせたものです。これらには寿命が限られており、作成時にシリアル番号が割り当てられます。これにより、ロックやその他の同期プリミティブの実装など、分散同期および調整タスクを実装するときに非常に役立ちます。
コンテナノード(コンテナ) : コンテナ ノードは、データを保存しないが、子ノードを含めることができる特別な ZNode です。このようなノードは、ファイル システムのディレクトリと同様に、データを編成および構造化するために使用できます。
内部ノード : 内部ノードは ZooKeeper の親ノードであり、子ノードを含めることができます。これらは、リーフ ノードが通常データの保存に使用されるのに対し、内部ノードは階層の維持に使用されるという点でリーフ ノードとは異なります。
リーフノード : リーフ ノードは ZNode 階層の終了ノードであり、通常はデータを保存するために使用されます。子ノードはありません。
TTL ノード (Time To Live) : TTL ノードは、ZooKeeper バージョン 3.5.0 で導入された新機能で、ノードが存続時間 (TTL) を設定できるようになります。 TTL の期限が切れると、ノードが一時ノードの場合は削除され、永続ノードの場合は一時ノードになって削除されます。
ACL (アクセス制御リスト):ZNode は、さまざまなアクセス許可を設定して、どのユーザーまたはユーザー グループがノードの読み取りまたは変更を行えるかを制御できます。
ウォッチャー機構 : クライアントは ZNode に Watcher を設定できます。 ZNode が変更されると (データ変更、子ノードの増加または減少など)、Watcher が設定されているすべてのクライアントが通知を受け取ります。
持続性 : ノードは永続化することができます。つまり、ZooKeeper サービスが再起動されても、永続化ノードはまだ存在します。ノードが一時的な場合、ノードを作成したクライアント セッションが終了すると、ノードは自動的に削除されます。
データストレージ : 各 ZNode は文字列値やバイナリ データなどのデータを保存できます。クライアントはこのデータを読み書きできます。
連続性 : シーケンシャル ノードを作成するとき、ZooKeeper はノード名に番号を追加します。この番号は 0 から始まり、新しいノードが作成されるたびに増加します。これにより、一意のノード名が保証され、FIFO 順序付けの実装に使用できます。
バージョン管理 : 各 ZNode にはバージョン番号があり、ノードのデータが変更されるたびにバージョン番号が増加します。これを使用して、ノードが読み取られた後に変更されたかどうかを確認できます。