問題タブ [hazelcast-imap]
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.
java - HazelCast でのスケールアップについて
Distributed Executor Service の理解に問題があります。ここで言及されている例を実行しようとしています。
[リンク] https://github.com/hazelcast/hazelcast-code-samples/tree/master/distributed-executor/scale-out
スケールアウトについて私が想定しているのは、異なるマシンでマスターとスレーブを実行すると、両方のマシンで実行が行われるはずです。つまり、両方のマシンで負荷が分散されるはずです.しかし、スレーブコンソールで何が起こっているかを確認できません.マスターコンソール1000個のEchoTaskをすべて実行しています.Distributed Executor Serviceについての私の理解は間違っていますか?誰かがこれを理解するのを手伝ってくれますか?
java - 述語キーと同じノードで IMap エントリを取得する [Hazelcast]
私はHazelcast 3.6 IMapを使用して大量のデータを分散保存しています(1B項目でテストしました)。2 つの IMap インスタンスをキーで結合したいのですが、それを行うための組み込み機能がないようです。そのため、@PatritionAware
キーが等しい場合はこれらのマップのエントリを同じノードに格納しSet<K> localKeySet();
、クラスタの各メンバーで最初のマップを使用しています。その後、同じノード上の 2 番目のマップから値を取得して、ネットワークによる述語キーの転送を回避しようとします。しかしgetAll(Set<K> keys)
、同じノードではそうではないようです。誰かがすでに同じ問題を抱えていますか? Hazelcast の機能に基づいて解決できますか?
以下のコード例を参照してください
hazelcast - Hazelcast イベントの一貫性
ユースケースに hazelcast ローカルリスナーを使用しています。私はドキュメントを読み、キューを使用してイベントをリスナーにプッシュすることを理解しています。
ダウンしているノードのキュー内のイベントはどうなりますか? レプリカが構成されている場合、これらは無視されますか、それともキューに入って新しいノードにルーティングされますか? どうか明らかにしてください。
何らかのコールバックでメッセージの受信が成功したことを確認する方法はありますか? そのイベントが決して失われないように。
java - Hazelcat IMap#put() の奇妙な動作
私の Hazelcast ベースのプログラムは、サブミッターとワーカーの 2 つのモードで動作します。
サブミッターは、いくつかの POJO をいくつかのキーによって分散マップに配置します。たとえば、次のようになります。hazelcastInstance.getMap(MAP_NAME).put(key, value);
ワーカーには、マップからエンティティを処理する必要がある無限ループ (Thread.sleep(1000L);
内部でタイムアウト) があります。今のところ、このループでマップ サイズを出力しているだけです。
ここで問題です。ワーカーアプリを起動します。次に、4 つのサブミッターを同時に開始します (それぞれがマップにエントリを追加し、その作業を終了します)。しかし、すべてのサブミッター アプリが完了すると、ワーカー アプリは任意のサイズを出力します。追加されたエントリが 1 つだけ検出される場合もあれば、2 つ、場合によっては 3 つ検出されることもあります (実際には、4 つのエントリすべてが表示されることはありません)。
この単純な流れの問題点は何ですか? メソッドが同期であることをHazelcastのドキュメントで読んだput()
ので、戻った後、エントリが分散マップに配置され、複製されることが保証されます。しかし、私の実験ではそうではないようです。
UPD (コード)
送信者:
ワーカー:
「処理」部分自体をコメントアウトしました。これは、マップの一貫した状態を取得しようとしているだけだからです。上記のコードは、毎回異なる結果を出力します。たとえば、「4, 3, 1, 1, 1, 1, 1...」 (したがって、4 つの送信されたタスクを一瞬見ることさえできますが、その後、それらは... 消えます)。 .
UPD (ログ)
ワーカー:
提出者 1:
提出者 2:
提出者 3:
提出者 4:
java - Hazelcast 3.6.2 Eviction Map が Spring および 3.6.2 の PER_NODE としての max-size-policy で機能しない
Map eviction max-size="4" PER_NODE を Hazelcast 3.6.2 春で動作させたいです。この下は、春に定義された私のマップです。
また、このエビクション ポリシーが定義されたマップに対して実際に設定されているかどうかも確認しました。また、そのマップでは数秒後にエビクトが機能しますが、最大サイズをオーバーライドする際のエビクションは機能しません。hazelcast 3.6.2 を使用しています。インメモリフォーマットの削除、エビクションポリシーの変更なども試しました。
予想される動作は、マップがアイテムの数を超える (4 つを超える) 場合に、エビクションが開始されることです。実際の動作は、エビクションが開始されないことです。
どんな助けでも大歓迎です。
hazelcast - Hazelcast IMap - loadAll(true) ですべての要素をクリアする方法
私のキャッシュには、同期 DB にない可能性のある要素が含まれます。
たとえば、一部のユースケースでは、IMap で set/putTransient を使用して、要素がキャッシュにのみ存在するようにしました。
IMap.loadAll(true) は、これらの非同期要素をキャッシュからクリアしません。
アドバイスください...
更新: リロード コマンド
hazelcast - Karaf / Maven の欠落要件 osgi.wiring.package; (osgi.wiring.package=javax.annotation.meta)
以下のリンクに従って、karaf 4.0.3 で単純な hazelcast アプリケーションを実行しています。
https://darylmathison.com/2014/04/01/beginners-guide-to-hazelcast-part-1/
コード サスを完全にコンパイルすることはできますが、バンドルを開始しているときに、次のようなエラーが発生します。
この不足している要件 osgi.wiring.package; を取得しています。(osgi.wiring.package=javax.annotation.meta) 常に。また、pom.xml ファイルに以下の行を追加しようとしましたが、
しかし、あまり役に立ちませんでした。この不足している要件 osgi.wiring.package を解決するのを手伝ってください。バンドルの開始中に (osgi.wiring.package=javax.annotation.meta) エラーが発生しました。