問題タブ [hazelcast]

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 投票する
1 に答える
1334 参照

java - put 操作を呼び出す以外に、Hazelcast マップ要素が永続化されるのはいつですか?

永続化のための 2 つのノードと DB を備えた hazelcast クラスターがあります。2 つのノードを順番に起動します。最初のノードは、DB からエンティティを読み取り、対応するマップ (entityMap) を構築します。2 番目のノードを開始した後、EntityMapStore.store() メソッドが (2 番目のノードで) 定期的にかなりの回数呼び出されます。開始後、マップに何も入れていないので、これがどのように発生するのか疑問に思っています。それとも私は何か間違ったことをしましたか?

hazelcast.xml の対応する部分は次のようになります。

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

java - 再起動後のヘーゼルキャストマップキーの長さが異なります

システムの分散キャッシュとしてHazelcast(バージョン:1.9.3.1)を使用し、キャッシュされたすべてのデータの背後にHbaseに書き込むプロジェクトに取り組んでいます。しかし、私は非常に奇妙な問題に直面しています。文字列キーを使用してHazelcastマップを使用してデータをキャッシュし、その背後にHbaseに書き込む場合。そして、Hazelcastを再起動し、HazelcastがHbaseからMapにすべてのデータをロードした後、キーを使用してデータを取得しようとします。キーの長さが、マップに保存されたときの以前の長さとは異なることに気づきました。

例:実キー: "ada1:user1"不正なキー: "ada1:user1"実キーの長さ= 9、不正なキーの長さ= 10

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

hazelcast - 2 つのクラスタ ノードで異なる永続化戦略を使用すると、一部のマップ エンティティを永続化できません

2 つのノードを持つクラスターで異なる永続化戦略を使用すると、マップ エンティティのごく一部が保存されません。私が具体的に行ったことは次のとおりです。1.最初のノードで write-delay-seconds=10 を設定し、2 番目のノードで write-delay-seconds=0 を設定します。2. 2 つのノードを順番に起動します。3. Hazelcast マップに 200 個のエンティティを入力します。このマップには、MapStore を実装する対応する永続化機能があります。4. 特定の量 (約 1%) のキーは、store() または storeAll() によって永続化されません。

0 投票する
2 に答える
5002 参照

java - ヘーゼルキャストマップの統計

地図の統計を表示しようとしています。常にヒット数が0として表示されます。次のコードを使用しています。

出力は

どんな助けでも大歓迎です。ヒット数、マップのサイズ、エントリー数を知りたい。

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

spring - Spring、Quartz Scheduling、Hazelcast の組み合わせ

私が書いている webapp 用の適度にスケーラブルなバッチ処理フレームワークを開発する方法を考え出そうとしています。

カスタムDAOレイヤーを備えたWebアプリケーションにSpring MVCを使用しています(データベースにアクセスするには、 @Autowired として設定され、Springによって実行時に注入されるUnitOfWorkFactoryからUnitOfWorkインスタンスを構築する必要があります)。

Spring Scheduler アノテーション (@Scheduled) を使用してタスクをスケジュールしていますが、これらのタスクをクラスター内の別のマシンで実行したいと考えています。各バッチ ジョブは、クラスター マシンの 1 つによって取得され、実行される必要があります。

分散実行の設計はこの目的のために非常にシンプルでエレガントに見えたので、 Hazelcastはこれに自然に適合するように思われました。

ドキュメントでカバーされていないように見える問題が発生しています。Spring Integrationに関するドキュメントを読みましたが、これは Spring を使用して Hazelcast を構成する方法に焦点を当てているようです (これは既に行っています)。

スケジューラがタスクの開始を示したら、タスクの新しいインスタンス ( Callableインスタンス) を作成し、それをDistributedExecutorに送信します。クラスター マシンが実行するタスクを受け取ると、タスクが実行を試みる前に、クラスター マシン上の Spring コンテナーがUnitOfWorkFactoryインスタンスをバッチ タスクに挿入する必要があります。各クラスターは Spring で始まり、UnitOfWorkFactoryが正しい詳細で既にインスタンス化されています。問題は、UnitOfWorkFactoryインスタンスをタスクに挿入することです。

Callableが開始されたときに Hazelcast がUnitOfWorkFactoryを自動的に注入できるように、アプリケーションを構成する方法を知っている人はいますか? Callableを Serializable およびApplicationContextAwareとしてマークしようとしましたが、タスクを実行しようとするとNullPointerExceptionが発生します。

ApplicationContext に直接アクセスすることもできますが、タスクのテスト容易性が制限され、バッチ ジョブが Spring に強く依存するようになるため、アクセスしたくありません。

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

tomcat - Hazelcastの問題-実行中のアプリケーション番号を誰が取得(聞く)するか

hazelcastが構成(配布)されているプールIPで実行されている実行中のアプリケーション「番号」を取得またはリッスンできるかどうかを知りたいです。

私は、どのIPがその瞬間にプールに入るのか、またはプールを離れるのか(そのサーバーがダウンしているとき)を示すアプリケーションログを知っています。ただし、hazelcastを使用して実行時にこの実行中のインスタンス番号を取得する方法を見つけることができませんでした。

前もって感謝します。

0 投票する
3 に答える
3676 参照

java - Redis、Mongo、または Hazelcast?

すべての重要なデータを保存するためにpostgres(スレーブを備えた単一のデータベース)を使用するJAVA Webアプリがあります。

現在、単一サーバーのセットアップから複数のサーバーに移行しているため、新しい要件に対応するためにいくつかの変更を加える必要があります。

1) ロード バランシングとパーティション トレランスのための非スティッキー セッション ID。

2) すべての Web サーバーからアクセス可能な、頻繁に読み取られるデータのキャッシュ (インメモリ/Memcache 代替)。

3) キュー (電子メール、SMS、クラスター上で実行されるタスク)。通常、これらはすべて xml API またはスクリーン スクレイピングを介して実行する必要があります。
タスクの重複処理を避けることは重要ですが、時々起こることがあります:-)

4) API 要求と応答の永続的なストレージ (大量の XML、多数の行、少数の列)。(おそらく、データセットを小さく保つために古いリクエストとレスポンスを削除してアーカイブします)。

5) 共通の場所へのログ記録。テーブルはどんどん増えていきます。また、生産ログを停止せずにアクセスするためのツールも必要です。時間や検索文字列に基づいて、何らかの検索が可能になるはずです。

これらすべての要件に対応する単一のソリューションが必要であり、可能な代替手段として redis、mongo、および hazelcast (個人的な好みの順序で) を調べます。

その他の重要な考慮事項: 1) コードへの侵入が少なくなります。2) 簡単なバックアップ/複製戦略。少なくともマスタースレーブ。3) 管理性、コミュニティ、実証済み (実稼働環境で実行中)。

この機能と要件のすべてまたはほとんどを実行できるのはどれですか?

編集 - 私がしたこと

  1. tomact 用の Redis がサポートするセッション マネージャー。
  2. キャッシュ用の Redis
  3. redis に支えられた Jesque (Respue の Java バージョン)。
  4. ポストグル
  5. Log4j2に支えられたSLF4J
0 投票する
1 に答える
134 参照

hibernate - 別の jvm にキャッシュする

休止状態の同じ jvm で動作する休止状態の第 2 レベルのキャッシュがあります。hibernate が別の jvm インスタンスの第 2 レベルのキャッシュとして接続するために使用できる hazelcast.xml ファイルを誰かが持っているかどうか疑問に思っていました。

0 投票する
2 に答える
1742 参照

amazon-web-services - 同一のピアのクラスター内でのタスクのスケジューリング

AWS Elastic Beanstalkで実行されている単純なWebアプリケーション(つまり、ロードバランサーの背後にある1..nの同一インスタンス)を考えると、1つのインスタンスでのみ実行されるスケジュールされたバックグラウンド操作をどのように行うことができますか?

私はWebアプリケーション内にcronのようなスケジューリングメカニズムを持っており、たとえばAWS Simple Queue Serviceを使用してタスクをキューに入れることができます(各タスクが1回だけ実行されるようにします)。しかし、(重複を避けるために)1つのインスタンスのみがタスクを作成するようにするにはどうすればよいですか?

もちろん、タスクの作成を担当する専用のインスタンスを持つこともできますが、通常のインスタンスの1つがその役割を自動的に引き受けることができるより動的なメカニズムを探しています。何か案は?

0 投票する
2 に答える
400 参照

delphi - DelphiアプリケーションがHazelcastを使用できるようにする方法はありますか?

DelphiアプリケーションがHazelcastの分散キャッシュを使用する方法はありますか?