デフォルトでは、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 デプロイを有効にするには、このプロパティを |
use.http.for.configuration |
構成イベントに使用するメソッドを指定します。次の値があります。
HTTP デプロイを有効にするには、このプロパティを |
メッセージの本文でこれらのプロパティを設定するだけでなく、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 が含まれている必要があります。
詳細については、ログファイルをご覧ください。