デフォルトでは、Edge は RPC を使用して API プロキシをデプロイします。このモードはほとんどのインストール環境で良好に機能しますが、多数の MP が含まれる大規模なトポロジでは、RPC を介して同時に大量の呼び出しが行われた場合にタイムアウトが発生することがあります。この実装は将来的に廃止される予定です。
このような理由から、大規模なデプロイ環境では RPC ではなく HTTP によるデプロイを使用することをおすすめします。
HTTP デプロイを有効にすると、信頼性が向上することに加えて、デプロイ処理中にスローされる可能性のある例外の内容と形式も改善されます。
このセクションでは、HTTP によるデプロイを有効にする方法について説明します。
組織を更新する
HTTP デプロイを有効にするには、組織プロパティ更新 API に対して PUT
リクエストを送信します。リクエストの本文に次のプロパティを設定します。
プロパティ | 説明 |
---|---|
allow.deployment.over.http |
(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
と記録されていれば、正常です。
詳細については、ログファイルをご覧ください。