HTTP デプロイを有効にする

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

このような理由から、大規模なデプロイ環境では RPC ではなく HTTP によるデプロイを使用することをおすすめします。

HTTP デプロイを有効にすると、信頼性が向上することに加えて、デプロイ処理中にスローされる可能性のある例外の内容と形式も改善されます。

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

組織を更新する

HTTP デプロイを有効にするには、組織プロパティ更新 API に対して PUT リクエストを送信します。リクエストの本文に次のプロパティを設定します。

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

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

use.http.for.configuration

設定イベントに使用する方法を指定します。次の値があります。

  • never: すべての構成イベントで RPC が使用されます。これがデフォルトです。
  • retry: すべての構成イベントで、まず RPC を使用します。RPC を介したイベントが失敗した場合は、HTTP を試行します。この設定にすると、HTTP を使用すべき場合に遅延が生じる可能性があります。
  • always: すべての構成イベントで HTTP を使用します。

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

これらのプロパティをメッセージの本文に設定することに加えて、Content-Type ヘッダーを application/json または application/xml に設定する必要もあります。

次の例では、JSON メッセージ本文を指定して組織プロパティ更新 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 と記録されていれば、正常です。

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