1.5. バックアップの場所の自動オフラインパラメーター
クラスター全体でデータをレプリケートする操作は、RAM および CPU を過剰に使用して、リソースを大量に消費します。特定の期間後にリクエストの受け入れを停止する際に、Data Grid がバックアップの場所をオフラインにすることで、リソースの浪費を避けることができます。
Data Grid は、失敗した順次要求の数と最初の失敗からの経過時間に基づいて、リモートサイトをオフラインにします。ターゲットクラスターにクロスサイトビュー (JGroups ブリッジ) のノードがない場合や、ターゲットクラスターが要求を確認する前にタイムアウトが期限切れになる場合は、要求は失敗します。
バックアップのタイムアウト
バックアップ設定には、クラスター間でデータを複製する操作のタイムアウト値が含まれます。タイムアウトが終了する前に操作が完了しない場合、Data Grid は失敗としてそれらを記録します。
以下の例では、データを NYC に複製する操作は、10 秒以内に完了しない場合、失敗として記録されます。
XML
<distributed-cache>
<backups>
<backup site="NYC"
strategy="ASYNC"
timeout="10000" />
</backups>
</distributed-cache>
JSON
{
"distributed-cache": {
"backups": {
"NYC" : {
"backup" : {
"strategy" : "ASYNC",
"timeout" : "10000"
}
}
}
}
}
YAML
distributedCache:
backups:
NYC:
backup:
strategy: "ASYNC"
timeout: "10000"
失敗の数
バックアップの場所がオフラインになる前に発生する可能性のある 連続する 失敗の数を指定できます。
以下の例では、クラスターが NYC にデータを複製しようとし、5 回連続して操作が失敗すると、NYC は自動的にオフラインになります。
XML
<distributed-cache>
<backups>
<backup site="NYC"
strategy="ASYNC"
timeout="10000">
<take-offline after-failures="5"/>
</backup>
</backups>
</distributed-cache>
JSON
{
"distributed-cache": {
"backups": {
"NYC" : {
"backup" : {
"strategy" : "ASYNC",
"timeout" : "10000",
"take-offline" : {
"after-failures" : "5"
}
}
}
}
}
}
YAML
distributedCache:
backups:
NYC:
backup:
strategy: "ASYNC"
timeout: "10000"
takeOffline:
afterFailures: "5"
待機時間
バックアップ操作の失敗時に、サイトをオフラインにするまで待機する時間を指定することもできます。待機時間がなくなる前にバックアップ要求が成功した場合、Data Grid はサイトをオフラインにしません。
バックアップの場所を自動的にオフラインにするまでの待機時間は、通常、1、2 分が適切とされています。待機時間が短すぎると、バックアップの場所はすぐにオフラインになります。次に、クラスターをオンラインに戻し、状態遷移操作を実行して、クラスター間でデータが同期されていることを確認します。
失敗数の負の値またはゼロの値は 1 の値と同等です。Data Grid は、障害が発生した後、バックアップの場所がオフラインになるのを待つために最小限の時間のみを使用します。以下に例を示します。
<take-offline after-failures="-1"
min-wait="10000"/>
以下の例では、クラスターが NYC にデータを複製しようとし、6 つ以上の連続した失敗があり、最初の失敗した操作から 15 秒が経過すると、NYC は自動的にオフラインになります。
XML
<distributed-cache>
<backups>
<backup site="NYC"
strategy="ASYNC"
timeout="10000">
<take-offline after-failures="5" min-wait="15000"/>
</backup>
</backups>
</distributed-cache>
JSON
{
"distributed-cache": {
"backups": {
"NYC" : {
"backup" : {
"strategy" : "ASYNC",
"timeout" : "10000",
"take-offline" : {
"after-failures" : "5",
"min-wait" : "15000"
}
}
}
}
}
}
YAML
distributedCache:
backups:
NYC:
backup:
strategy: "ASYNC"
timeout: "10000"
takeOffline:
afterFailures: "5"
minWait: "15000"