HTTP デプロイを有効にする

デフォルトでは、Edge は RPC を使用して API プロキシをデプロイします。このモードはほとんどのインストールで適切に機能しますが、多数の MP を含む大規模なトポロジでは、RPC を介して多数の同時呼び出しが行われると、タイムアウトが発生することがあります。Apigee は、この実装を将来的に非推奨にする予定です。

そのため、Apigee では、大規模なデプロイには RPC ではなく HTTP を使用することをおすすめします。

HTTP デプロイを有効にすると、信頼性が向上するだけでなく、デプロイ プロセス中にスローされる可能性のある例外の内容と形式も改善されます。

このセクションでは、デプロイで HTTP を有効にする方法について説明します。

組織を更新する

HTTP デプロイを有効にするには、Update organization properties API に PUT リクエストを送信します。リクエストの本文で次のプロパティを設定します。

プロパティ 説明
allow.deployment.over.http Edge が(RPC に加えて)HTTP 経由で API プロキシをデプロイできるかどうかを決定します。HTTP デプロイを許可するには、true に設定します。それ以外の場合は false に設定します。デフォルトは false です。

HTTP デプロイを有効にするには、このプロパティを true に設定する必要があります。

use.http.for.configuration

構成イベントに使用するメソッドを指定します。次の値があります。

  • never: すべての構成イベントで RPC が使用されます。これがデフォルトです。
  • retry: すべての構成イベントで最初に RPC が使用されます。RPC でイベントが失敗すると、Edge は HTTP を試行します。HTTP を使用する必要がある場合、遅延が発生する可能性があります。
  • always: すべての構成イベントで HTTP が使用されます。

HTTP デプロイを有効にするには、このプロパティを always に設定することをおすすめします。

メッセージの本文でこれらのプロパティを設定するだけでなく、Content-Type ヘッダーを application/json または application/xml に設定する必要があります。

次の例では、JSON メッセージ本文を使用して Update organization properties API を呼び出します。

curl -u admin_email:admin_password
  "http://management_server_IP:8080/v1/organizations/org_name"
  -X POST -H "Content-Type: application/json" -d
  '{
    "properties" : {
      "property" : [
      {
        "name" : "allow.deployment.over.http",
        "value" : "true"
      },
      {
        "name" : "use.http.for.configuration",
        "value" : "always"
      } ]
    }
  }'

すべての組織のすべての API プロキシで HTTP デプロイを有効にするには、前述のように各組織を更新する必要があります。

更新をテストする

更新が成功したことをテストするには、更新された組織の API プロキシでデプロイ イベントをトリガーし、Message Processor のログファイルを確認します。デプロイ イベントのログエントリには mode:API が含まれている必要があります。

詳細については、ログファイルをご覧ください。