問題タブ [apache-curator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2932 参照

apache-zookeeper - キュレーター/飼育係ロックのクリーンアップ

分散ロック レシピに InterProcessSemaphoreMutex を使用しています。

ロックの一般的なパスは次のとおりです。

/ロック/カレンダー/uuid

uuid はもちろん uuid であるため、多くのロック パスが生成される可能性があります。

これらのパスは最終的にクリーンアップする必要があると思うので、ロックを解除した後、childreaper と reaper を使用してクリーンアップを試みました。

ChildReaper のような作品。/lock/calendar/uuid を追加すると、子は問題なく削除されます。ログには、リースとロックが削除され、ノード自体が zkClient でなくなっていることが示されています。これは、Mode.Delete と Mode.Until Gone を試したにもかかわらずです。

/lock/calendar/uuid に子があるため、Reaper は何もしません。

何か不足していますか?これらのロックをクリーンアップする必要はありませんか? 同時実行に関して何を心配する必要がありますか。

0 投票する
1 に答える
2015 参照

apache-zookeeper - znode ip を取得する方法

Zookeeper に接続されているサービスが多数あります。サービス A がサービス B の IP を取得できるようにしたいのですが、サービス B が Zookeeper に接続されている場合、それを実行できる API はありますか? または、他の構成ファイルを使用してすべてのサービスの IP を書き留める必要がありますか?

0 投票する
1 に答える
696 参照

apache - Zookeeper に対してアプリケーションをテストする方法

Curator フレームワークを使用してリーダーシップを決定するアプリケーションがあります。Zookeeper サーバーからの状態の変化をテストできるようにしたかったのですが、これを行う方法はありますか?

私たちの観点からは、サーバーが接続されたクライアントに接続状態 (CONNECTED、RECONNECTED、SUSPENDED、LOST) を送信できるようにできれば有益です。Curator が TestingServer クラスを提供していることは知っていますが、この機能はないようです。

どんな解決策や考えも大歓迎です!

0 投票する
1 に答える
534 参照

java - PathChildrenCache で削除イベントを受信しない

サービスの検出に Apache Curator を使用しPathChildrenCache、サービスが追加/更新/削除されたときにイベントをリッスンします。

を通じてサービスを登録するとorg.apache.curator.x.discovery.ServiceDiscovery、イベントが追加されました。しかし、サービスの登録を解除すると、削除されたイベントが発生しません。

サービス イベントを正しくリッスンするにはどうすればよいですか?

0 投票する
0 に答える
1473 参照

apache-zookeeper - ApacheCurator 分散ロック - パフォーマンス

現在、分散ロックのユースケースについて apache-curator を評価しています。以下は私たちのテストケースです:

テストは、2G Xmx を搭載した 2 コア/7.5G RAM マシンで実行されます。Zookeeper インスタンス ( zook.company.com) が Xmx を 12G として 4 コア/15G RAM サーバーで実行されている間、maxClientCnxns=5000、tickTime=2000、initLimit=10、および syncLimit=5。

両方のサーバーが同じ AWS VPC に存在します。

テストを 10 分間実行すると80 ms、95% 以上のロック試行でロック取得時間が得られます。ロックの取得にかかった最大時間は でした340 ms。スレッド数とロック数のさまざまな組み合わせを試してみましたが、時間は常に高い側にあります。

どこかで何か問題があるかどうかを見つけることができませんか? 時代が高すぎるように見えるからです。手がかりはありますか??

0 投票する
1 に答える
156 参照

apache-zookeeper - Zookeeper ノードへの排他的アクセスを確保する方法

私の目標は、クライアントが既存の Zookeeper ノードをロックできるようにして、ノードのデータによって記述された作業を 1 つのクライアントだけが実行できるようにすることです。

キュレーターを使用しInterProcessMutexて同期を容易にすることを検討しています。私の質問はpath、コンストラクターに渡される引数が、InterProcessMutexロックしたいノードへのパスであるべきか、それとも対象のノードに対応するロックを表す個別のパスであるべきかということです。pathCurator のドキュメントでは、指定されたノードのデータが実装で使用されているかどうかが不明です。

Zookeeper ノードへの排他的アクセスを実装するより良い方法はありますか?