2017-12-02 5 views
0

私のApache Ignite 2.3クラスタでは、レプリケートされたキャッシュがディスク上に永続的に存在する1つのノード(将来的には2つのバックアップ)を実行します。他のキャッシュノードが永続的な構成を持たないため、このノードが常に稼働していることを確認して、メモリ内のキャッシュにのみアクセスする必要があります。これらの非永続ノードは、コンピューティングの場合と同様にオンデマンドで頻繁にアクセスできますが、データの格納には使用できません。永続/非永続キャッシュノードが混在したIgniteクラスタ

非永続ノードが接続されている場合、永続ノードが停止するとどうなりますか?理想的には、キャッシュはクラスタ全体でなくなるはずですが、キャッシュは消えません。すべてのノードは、メモリ内のキャッシュを使用し続けます。しかし、これは新しいデータがディスク上に存在せず、クラスタの再起動後に消えてしまうことを意味します。 永続/非永続ノードを混在させた構成は共通ではありませんか?どのようにこのタイプのクラスタを一貫して保つことができますか?

バックグラウンドヘルプは高く評価されています。あなたが設定をキャッシュし、計算ノードを除外するためにあなたがノードフィルタを設定することができ

答えて

1

https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/CacheConfiguration.html#setNodeFilter(org.apache.ignite.lang.IgnitePredicate)

をので、キャッシュは、あなたが定義されたノードの特定のセットに保存されます。

明確な発火のインスタンスに、ユーザーが発火構成で属性を使用することができます。 https://apacheignite.readme.io/docs/cluster#section-cluster-node-attributes

2

あなたは、単一のノード上に格納されるようにキャッシュを設定することができます。したがって、キャッシュが停止すると、キャッシュは機能しなくなります。これは、node attributesnode filterを使用して行うことができます。

しかし、この構成では、すべての要求が1つのノードに送信され、追加のノードの処理が遅くなります。それを避けたい場合は、near cacheの使用を検討してください。

0

これはできません。キャッシュレベルで永続性が有効になるため、このキャッシュがデプロイされているすべてのノードはデータをディスクに保存します。

また、私はあなたがそのような展開の恩恵を受けるとは思わない。レプリケートされたキャッシュで、新しいノードを開始する場合は、メモリ内で使用可能になる前に、この新しいノードにデータをコピーする必要があります。再調整が完了しないうちに、このデータのリモート呼び出しが行われます。代わりに、ディスクから読み込むことは、遅くなることはありません。