Edge for Private Cloud v. 4.17.05
ヘルスチェック中に Message Processor が使用できない場合の Router レスポンスの構成
Router は、Message Processor がリクエストを処理できるかどうかを判断するために、5 秒ごとに Message Processor のヘルスチェックを行います。Message Processor が停止すると、Router は自動的にリクエストを別の Message Processor に転送します。
Router で conf_load_balancing_load.balancing.driver.nginx.server.retry プロパティを設定することで、Message Processor がダウンしたときの Router の動作を構成できます。このプロパティは、スペース区切りの値のセットを受け取ります。これには、次の値を含めることができます。
- off: 再試行を無効にします。ルーターはリクエスト時に失敗コードを返します。
- http_599:(デフォルト)Router が Message Processor から HTTP 599 レスポンスを受信すると、Router はリクエストを次の Message Processor に転送します。
HTTP 599 は、Message Processor がシャットダウンされるときに生成される特別なレスポンス コードです。Message Processor は既存のすべてのリクエストを完了しようとしますが、新しいリクエストに対しては HTTP 599 を返して、次の Message Processor でリクエストを再試行するよう Router に通知します。 - error: Message Processor との接続の確立中、Message Processor へのリクエストの受け渡し中、または Message Processor からのレスポンス ヘッダーの読み取り中にエラーが発生した場合、Router はリクエストを次の Message Processor に転送します。
- timeout: Message Processor との接続の確立、Message Processor へのリクエストの受け渡し、Message Processor からのレスポンス ヘッダーの読み取り中にタイムアウトが発生した場合、Router はリクエストを次の Message Processor に転送します。
- invalid_header: Message Processor が空のレスポンスまたは無効な回答を返した場合、Router はリクエストを次の Message Processor に転送します。
- http_XXX: Message Processor が HTTP コード XXX を含むレスポンスを返した場合、Router はリクエストを次の Message Processor に転送します。
Router を構成するには:
- /opt/apigee/customer/application/router.properties ファイルを編集します(ファイルが存在しない場合は作成します)。
- 次のように conf_load_balancing_load.balancing.driver.nginx.server.retry プロパティを追加します。
conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error - プロパティ ファイルが「apigee」ユーザーによって所有されていることを確認します。
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Router を再起動します。
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart
API プロキシ リクエストの一部として Message Processor にアクセスする際の Router タイムアウトの構成
Edge Router には、API プロキシを介してリクエストを処理する一環として Message Processor へのアクセスを試行する際のタイムアウトが 57 秒に事前設定されています。このタイムアウトが期限切れになると、Router は別の Message Processor への接続を試みます(利用可能な場合)。それ以外の場合はエラーが返されます。
このタイムアウトを制御するには、次の 2 つのプロパティを使用します。
- conf_load_balancing_load.balancing.driver.proxy.read.timeout は、1 つの Message Processor の待機時間を秒単位で指定します。デフォルト値は 57 秒です。
- conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout は、Edge のインストールに複数の Message Processor がある場合に、すべての Message Processor の合計待機時間を秒単位で指定します。デフォルト値は、conf_load_balancing_load.balancing.driver.proxy.read.timeout の現在の値(57 秒)です。
Router を構成するには:
- /opt/apigee/customer/application/router.properties ファイルを編集します(ファイルが存在しない場合は作成します)。
- 次のようにプロパティを設定します。
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240 - プロパティ ファイルが「apigee」ユーザーによって所有されていることを確認します。
> chown apigee:apigee /opt/apigee/customer/application/router.properties - Router を再起動します。
> /opt/apigee/apigee-service/bin/apigee-service edge-router restart