1
複数のノードのJavaクライアントを使用してHazelcastクラスタに接続しています。Hazelcast:クライアントモードでクラスタごとに1回のみEntryEvictedListenerを実行
HazelcastClient.newHazelcastClient(cfg)
EntryEvictedListenerをクラスタごとに1回だけ実行する必要があります。 デフォルトでは、接続されているすべてのクライアントで実行されます。
が埋め込まHazelcast(Time Based Eviction in Hazelcast)で、この目標を達成する方法を見つけましたが、
map.addLocalEntryListener(...)
がクライアントに許可されていないように見えます。
クライアントを使用してクラスターごとに1回だけ除去リスナーを実行する方法はありますか?
ありがとうございます。 IMap TTLイベントは、いくつかの集約ウィンドウ時間を制限するのに非常に便利です - エラーメッセージが来たら、それはcounter = 1のマップに保存され、後で同様のメッセージがそのマップのカウンタを更新するだけです。カウンターに基づいていません。 確かに我々は異なるアプローチを使用することができますが、それぞれが欠点を持っています 1.いくつかの背景のクラスタ全体のスケジューラを持っている - しかし、それはそれぞれのメッセージ 2.ストアを処理するために、CPU使用率、より多くのコードおよび多くのコーナー例のぞき見を持っていますエラー到着時にカウンタをチェックする - ここでの計算はあまり頻繁に実行される – Kirill
3.データと処理ノードのライフサイクルを別々にしたいので、埋め込みHazelcastの代わりにクライアントを使用しています – Kirill
申し訳ありませんが、メッセージの前に? – noctarius