Zookeeperを使用する理由
分散サービスフレームワークとして、Zookeeperは主に分散クラスターのアプリケーションシステムの一貫性の問題を解決するために使用されます。ファイルシステムと同様のディレクトリノードツリーメソッドに基づいてデータストレージを提供できます。 Zookeeperの機能は、主に保存されたデータの状態の変更を維持および監視するために使用され、これらのデータ状態の変更を監視することにより、データベースのクラスター管理を実現できます。
Zookeeper Core
Zookeeperのデータモデルはツリー構造です。インメモリデータベースでは、すべてのノードパス、ノードデータ、ACL情報を含む、ツリー全体の内容が保存されます。 Zookeeperは、このデータを定期的にディスクに保存します。
Zookeeperノード機能
永続的なノード
その特定のZnodeのクライアントが作成された後も、永続的なノードは存在します。デフォルトでは、特に明記しない限り、すべてのZnodeは永続的です。
一時的なノード
クライアントがアクティブな場合、一時的なノードが有効です。クライアントがZookeeperコレクションから切断されると、一時的なノードが自動的に削除されます。したがって、一時的なノードのみが子供を許可しません。一時ノードが削除されている場合、次の適切なノードがその位置を埋めます。一時的なノードは、リーダー選挙で重要な役割を果たします。
シーケンシャルノード
シーケンシャルノードは、永続的または一時的なものにすることができます。新しいZnodeがシーケンシャルノードとして作成されると、Zookeeperは元の名前に10ビットシーケンス番号を追加することにより、Znodeへのパスを設定します。たとえば、パス /myAppをシーケンシャルノードとしてZnodeを作成すると、Zookeeperは /myApp0000000001にパスを変更し、次のシリアル番号を0000000002に設定します。2つのシーケンシャルノードが同時に作成されている場合、Zookeeperは各Znodeに対して同じ数値を使用しません。シーケンシャルノードは、ロックと同期に重要な役割を果たします
キュレーター
キュレーターは、NetflixによるZookeeperクライアントのオープンソースです。 Zookeeperが提供するネイティブクライアントと比較して、キュレーターは抽象化のレベルが高く、Zookeeperクライアントプログラミングを簡素化します。
Spring-Cloud-Starter-Zookeeper-Config
<Dependency> GroupId> org.springframework.cloud </groupId> <artifactid> spring-cloud-starter-zookeeper-config </artifactid> </dependency>
bootstrap.yml
スプリング:クラウド:Zookeeper:Connect-String:192.168.3.98:2181 Enabled:True
キュレーターフレームワークを注入します
@autowiredprivate curatorframework curatorframework;
詳細については、公式ドキュメントhttp://curator.apache.org/index.htmlを参照してください
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。