3.2. REST API を使用したクロスサイト操作の実行

Data Grid サーバーは、クロスサイト操作を実行できるようにする REST API を提供します。

3.2.1. すべてのバックアップロケーションのステータス取得

GET リクエストですべてのバックアップロケーションのステータスを取得します。

GET /v2/caches/{cacheName}/x-site/backups/

Data Grid は、以下の例のように、各バックアップロケーションのステータスを JSON 形式で応答します。

{
  "NYC": "online",
  "LON": "offline"
}

表3.1 リターンステータス

説明

online

ローカルクラスター内のすべてのノードには、バックアップの場所を含むクロスサイトビューがあります。

offline

ローカルクラスター内のノードには、バックアップの場所とのクロスサイトビューがありません。

mixed

ローカルクラスター内の一部のノードにはバックアップの場所を含むクロスサイトビューがあり、ローカルクラスター内の他のノードにはクロスサイトビューがありません。応答は、各ノードのステータスを示します。

3.2.2. 特定のバックアップ場所のステータスの取得

GET リクエストでバックアップロケーションのステータスを取得する。

GET /v2/caches/{cacheName}/x-site/backups/{siteName}

Data Grid は、以下の例のように、サイト内の各ノードのステータスを JSON 形式で応答します。

{
  "NodeA":"offline",
  "NodeB":"online"
}

表3.2 リターンステータス

説明

online

ノードはオンラインです。

offline

ノードはオフラインです。

failed

ステータスを取得できません。リモートキャッシュがシャットダウンしているか、リクエスト中にネットワークエラーが発生した可能性があります。

3.2.3. バックアップ先をオフラインにする

POST リクエストと ?action=take-offline パラメーターを使用して、バックアップの場所をオフラインにします。

POST /v2/caches/{cacheName}/x-site/backups/{siteName}?action=take-offline

3.2.4. バックアップ場所をオンラインにする

?action=bring-online パラメーターを使用してバックアップ場所をオンラインにします。

POST /v2/caches/{cacheName}/x-site/backups/{siteName}?action=bring-online

3.2.5. バックアップ場所への状態のプッシュ

?action=start-push-state パラメーターを使用して、キャッシュ状態をバックアップ場所にプッシュします。

POST /v2/caches/{cacheName}/x-site/backups/{siteName}?action=start-push-state

3.2.6. 状態転送のキャンセル

?action=cancel-push-state パラメーターを使用して状態転送操作をキャンセルします。

POST /v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-push-state

3.2.7. 状態転送ステータスの取得

?action=push-state-status パラメーターを使用して状態転送操作のステータスを取得します。

GET /v2/caches/{cacheName}/x-site/backups?action=push-state-status

Data Grid は、以下の例のように、各バックアップ拠点の状態移行の状況を JSON 形式で応答します。

{
   "NYC":"CANCELED",
   "LON":"OK"
}

表3.3 リターンステータス

説明

SENDING

バックアップ場所への状態転送が進行中です。

OK

状態の転送が正常に完了しました。

ERROR

状態転送でエラーが発生しました。ログファイルを確認してください。

CANCELLING

状態移行のキャンセルが進行中です。

3.2.8. 状態転送ステータスのクリア

?action=clear-push-state-status パラメーターを使用して送信サイトの状態転送ステータスをクリアします。

POST /v2/caches/{cacheName}/x-site/local?action=clear-push-state-status

3.2.9. オフラインテイク条件の変更

特定の条件が満たされると、サイトはオフラインになります。オフラインにするパラメーターを変更して、バックアップロケーションが自動的にオフラインになるタイミングを制御します。

手順

  1. GET リクエストと take-offline-config パラメーターで設定されたテイクオフラインパラメーターを確認します。

    GET /v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-config

    Data Grid のレスポンスには、以下のように after_failuresmin_wait フィールドがあります。

    {
      "after_failures": 2,
      "min_wait": 1000
    }
  2. PUT リクエストの本文のオフライン取得パラメーターを変更します。

    PUT /v2/caches/{cacheName}/x-site/backups/{siteName}/take-offline-config

3.2.10. 受信サイトからの状態転送のキャンセル

2 つのバックアップ場所間の接続が切断された場合、プッシュを受信しているサイトでの状態転送をキャンセルできます。

?action=cancel-receive-state パラメーターで、リモートサイトからの状態転送をキャンセルし、ローカルキャッシュの現在の状態を維持する。

POST /v2/caches/{cacheName}/x-site/backups/{siteName}?action=cancel-receive-state

3.2.11. バックアップ場所のステータスの取得

GET 要求により、キャッシュ・マネージャーからすべてのバックアップ・ロケーションのステータスを取得します。

GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/

Data Grid は、以下の例のように JSON 形式でステータスを応答します。

{
   "SFO-3":{
      "status":"online"
   },
   "NYC-2":{
      "status":"mixed",
      "online":[
         "CACHE_1"
      ],
      "offline":[
         "CACHE_2"
      ]
   }
}

表3.4 リターンステータス

説明

online

ローカルクラスター内のすべてのノードには、バックアップの場所を含むクロスサイトビューがあります。

offline

ローカルクラスター内のノードには、バックアップの場所とのクロスサイトビューがありません。

mixed

ローカルクラスター内の一部のノードにはバックアップの場所を含むクロスサイトビューがあり、ローカルクラスター内の他のノードにはクロスサイトビューがありません。応答は、各ノードのステータスを示します。

3.2.12. バックアップ先をオフラインにする

?action=take-offline パラメーターで、バックアップロケーションをオフラインにします。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=take-offline

3.2.13. バックアップ場所をオンラインにする

?action=bring-online パラメーターを使用してバックアップ場所をオンラインにします。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=bring-online

3.2.14. 状態転送の開始

?action=start-push-state パラメーターを使用して、すべてのキャッシュの状態をリモートサイトにプッシュします。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=start-push-state

3.2.15. 状態転送のキャンセル

?action=cancel-push-state パラメーターを使用して、進行中の状態転送操作をキャンセルします。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=cancel-push-state