Message Processor への接続を再試行するように Router を構成する

Edge for Private Cloud v. 4.17.01

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 を構成するには:

  1. /opt/apigee/customer/application/router.properties ファイルを編集します(ファイルが存在しない場合は作成します)。
  2. 次のように conf_load_balancing_load.balancing.driver.nginx.server.retry プロパティを追加します。
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. Router を再起動します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart