デフォルトでは、Edge は RPC を使用して API プロキシをデプロイします。このモードはほとんどのインストール環境で非常にうまく機能しますが、多数の MP を含む大規模なトポロジでは、RPC を介して多数の同時呼び出しが行われるとタイムアウトが発生する可能性があります。この実装は今後非推奨となる予定です。
そのため Apigee では、大規模なデプロイでは RPC ではなく HTTP を使用してデプロイすることをおすすめします。
HTTP デプロイを有効にすると、信頼性が向上するだけでなく、デプロイ プロセス中にスローされる可能性のある例外のコンテンツと形式も改善されます。
このセクションでは、デプロイ用に HTTP を有効にする方法について説明します。
組織を更新する
HTTP デプロイを有効にするには、PUT
リクエストを 組織プロパティ更新 API に送信します。リクエストの本文で次のプロパティを設定します。
プロパティ | 説明 |
---|---|
allow.deployment.over.http |
Edge で(RPC に加えて)HTTP 経由で API プロキシをデプロイできるかどうかを指定します。HTTP デプロイを許可するには true に設定します。それ以外の場合は false に設定します。デフォルトは false です。HTTP デプロイを有効にするには、このプロパティを |
use.http.for.configuration |
構成イベントに使用するメソッドを指定します。指定できる値は次のとおりです。
HTTP デプロイを有効にするには、このプロパティを |
これらのプロパティをメッセージの本文で設定するだけでなく、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
が含まれています。
詳細については、ログファイルをご覧ください。