2017-01-27 7 views
1

私は多数の物理リソースの大きなプールのサブセットを所有する多数のノードを持っています。各ノードは自分のリソースだけを処理しますが、プール内のすべてのリソースの状態に基づいて行う必要があります。 ノードは自身のリソースの状態のみを更新しますが、他のすべての状態の変化を待ち受けます。 ノードが消滅(プロセスの終了、クラッシュ、電力損失など)すると、それらの物理リソースは消滅し、他のノードはすぐに破棄する必要があります。分散キャッシュ:所有者損失のエントリをクリアする(Apache Ignite)

これで、分散レプリケートキャッシュ(これはノードがパフォーマンスのためにローカルレプリカを読むことができるので)で行いますが、エントリを削除する方法(所有ノードではできません)です。 標準的な答えは有効期限切れのようです。ポリシー=マップエントリは、更新せずにX秒間放置してから消えてしまいます。問題は、あなたが100.000のリソースと100のノードを考えているなら、それは状態を変化させないためにどこにでも送る更新の多くです。タイムアウトの前に各エントリを更新し、他のノードでこれらの更新を破棄する作業はもちろんです。

これを行うにはどのような方法がありますか?

答えて

1
  • SqlQueryまたはScanQueryを経由して、関連するエントリを検索し、それらに
を削除 IgniteEvents
  • 経由EVT_NODE_LEFTに登録
  • 関連する問題