<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
このドキュメントでは、Apigee Edge Message Processor の I/O タイムアウトを構成する方法について説明します。
Message Processor の I/O タイムアウトは、Message Processor が バックエンド サーバーからのレスポンスを受信するか、ソケットが書き込み可能になるまで待機します。 タイムアウトになる前にバックエンド サーバーにリクエストを送信できます。
Message Processor の I/O タイムアウトのデフォルト値は 55 seconds
です。このタイムアウト
期間が適用されます。
ターゲット エンドポイントの構成と ServiceCallout で構成されたバックエンド サーバーへ
有効にする必要があります。
Message Processor の I/O タイムアウトは、アプリケーションのデフォルト値から
必要に応じて55 seconds
します。これは次の場所で構成できます。
- API プロキシの場合
<ph type="x-smartling-placeholder">
- </ph>
- ターゲット エンドポイント
- ServiceCallout ポリシー
- Message Processor
次のプロパティは、Message Processor の I/O タイムアウトを制御します。
プロパティ名 | 場所 | 説明 |
---|---|---|
io.timeout.millis
|
API プロキシ:
|
これは、Message Processor が次の処理を行う最大時間です。
このタイムアウト期間内にバックエンド サーバーからレスポンスがなかった場合、 Message Processor がタイムアウトします。
デフォルトでは、このプロパティは
Message Processor の このプロパティを、特定の API プロキシの新しいタイムアウト値で変更すると、 その API プロキシのみが影響を受けます。 |
HTTPTransport.io.timeout.millis
|
Message Processor |
これは、Message Processor が次の処理を行う最大時間です。
このタイムアウト期間内にバックエンド サーバーからレスポンスがなかった場合、 Message Processor がタイムアウトします。 このプロパティは、この Message Processor で実行されるすべての API プロキシで使用されます。
このプロパティのデフォルト値は
このプロパティは、
Message Processor で I/O タイムアウトを構成します。または、
API で |
始める前に
このドキュメントの手順を使用する前に、次のトピックを理解しておいてください。
- I/O タイムアウトについて不明な点がある場合は、
io.timeout.millis
プロパティをご覧ください。 の説明 TargetEndpoint トランスポート プロパティの仕様。 - Edge for Private Cloud のプロパティの構成に精通していない場合は、 <ph type="x-smartling-placeholder"></ph> Edge の構成方法をご覧ください。
- 必ず次の推奨事項に従ってください <ph type="x-smartling-placeholder"></ph> I/O タイムアウト構成のベスト プラクティスをご覧ください。
API プロキシでの I/O タイムアウトの構成
I/O タイムアウトは、次の API プロキシの場所で構成できます。
- ターゲット エンドポイント
- ServiceCallout ポリシー
API プロキシのターゲット エンドポイントでの I/O タイムアウトの構成
このセクションでは、API プロキシのターゲット エンドポイントで I/O タイムアウトを構成する方法について説明します。
I/O タイムアウトはプロパティ io.timeout.millis
で構成できます。このプロパティは、
I/O タイムアウト値をミリ秒単位で表します。
- Edge UI で、新しい API プロキシを構成する特定の API プロキシを選択します。 I/O タイムアウト値。
- 変更する特定のターゲット エンドポイントを選択します。
- 適切な値を持つプロパティ
io.timeout.millis
をTargetEndpoint
構成の<HTTPTargetConnection>
要素。 - API プロキシに加えた変更を保存します。
たとえば、I/O タイムアウトを 120 秒に変更するには、次のコードブロックを追加します。
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
io.timeout.millis
プロパティはミリ秒単位であるため、
120 秒は 120000
です。
次の例は、ターゲット エンドポイントで I/O タイムアウトを構成する方法を示しています。 API プロキシの構成:
バックエンド サーバーの URL を使用したターゲット エンドポイントの構成例
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>https://mocktarget.apigee.net/json</URL> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
ターゲット サーバーを使用したターゲット エンドポイントの構成例
<TargetEndpoint name="default"> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
API プロキシの ServiceCallout ポリシーで I/O タイムアウトを構成する
このセクションでは、アプリケーションの ServiceCallout ポリシーで I/O タイムアウトを構成する方法について説明します。
API プロキシ。I/O タイムアウトは <Timeout>
要素で構成できます。
または io.timeout.millis
プロパティを使用します。<Timeout>
要素と
io.timeout.millis
プロパティは、I/O タイムアウト値をミリ秒単位で表します。
ServiceCallout ポリシーの I/O タイムアウトは、次のいずれかの方法で構成できます。
<Timeout>
要素。io.timeout.millis
プロパティ。
タイムアウト要素
<Timeout>
を使用して ServiceCallout ポリシーで I/O タイムアウトを構成するには
次の操作を行います。
- Edge UI で、構成する API プロキシを選択します。 ServiceCallout ポリシーの新しい I/O タイムアウト値。
- 変更する ServiceCallout ポリシーを選択します。
- 要素
<Timeout>
を追加して適切な値を<ServiceCallout>
の設定。たとえば、I/O タイムアウトを 120 秒に変更するには、次のコード行を追加します。
<Timeout>120000</Timeout>
<Timeout>
要素はミリ秒単位であるため、 120 秒は120000
です。次の例は、ServiceCallout で I/O タイムアウトを構成する方法を示しています。
<Timeout>
要素を使用します。バックエンド サーバーの URL を使用した ServiceCallout ポリシー構成の例
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Timeout>120000</Timeout> <HTTPTargetConnection> <Properties/> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
- API プロキシに加えた変更を保存します。
io.timeout.millis プロパティ
ServiceCallout ポリシーで I/O タイムアウトを構成するには、
io.timeout.millis
プロパティを使用して、次の操作を行います。
- Edge UI で、構成する API プロキシを選択します。 ServiceCallout ポリシーの新しい I/O タイムアウト値。
- 変更する ServiceCallout ポリシーを選択します。
- 適切な値を持つプロパティ
io.timeout.millis
を TargetEndpoint 構成の<HTTPTargetConnection>
要素。たとえば、I/O タイムアウトを 120 秒に変更するには、次のブロックを追加します。 コード:
<Properties> <Property name="io.timeout.millis">120000</Property> </Properties>
io.timeout.millis
プロパティはミリ秒単位であるため、 120 秒は120000
です。次の例は、ターゲット エンドポイントで I/O タイムアウトを構成する方法を示しています。 API プロキシの構成:
バックエンド サーバーの URL を使用した ServiceCallout ポリシー構成の例
<ServiceCallout name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <HTTPTargetConnection> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <URL>https://mocktarget.apigee.net/json</URL> </HTTPTargetConnection> </ServiceCallout>
ターゲット サーバーを使用した ServiceCallout ポリシー構成の例
<ServiceCallout enabled="true" name="Service-Callout-1"> <DisplayName>ServiceCallout-1</DisplayName> <Response>calloutResponse</Response> <HTTPTargetConnection> <LoadBalancer> <Server name="target1" /> <Server name="target2" /> </LoadBalancer> <Properties> <Property name="io.timeout.millis">120000</Property> </Properties> <Path>/test</Path> </HTTPTargetConnection> </ServiceCallout>
- API プロキシに加えた変更を保存します。
Message Processor での I/O タイムアウトの構成
このセクションでは、Message Processor で I/O タイムアウトを構成する方法について説明します。
I/O タイムアウトはプロパティ HTTPTransport.io.timeout.millis
で構成できます。
Message Processor コンポーネントの I/O タイムアウト値をミリ秒単位で表します。
トークンを使用します。
設定方法
Edge。
Message Processor で I/O タイムアウトを構成するには、次の操作を行います。
- Message Processor マシンで、次のファイルをエディタで開きます。オンになっていない場合
作成します。
/opt/apigee/customer/application/message-processor.properties
たとえば、ファイルを開くには、
vi
の場合は、次のコマンドを入力します。vi /opt/apigee/customer/application/message-processor.properties
- プロパティ ファイルに次の形式の行を追加します。
TIME_IN_MILLISECONDS:
conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
たとえば、Message Processor の I/O タイムアウトを 120 秒に変更するには、次のようにします。 次の行を追加します。
conf_http_HTTPTransport.io.timeout.millis=120000
- 変更を保存します。
- 以下に示すように、プロパティ ファイルの所有者が
apigee
ユーザーであることを確認します。chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- 次のように Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 複数の Message Processor がある場合は、すべての Message Processor に対して上記の手順を繰り返します 決済代行業者。
Message Processor の I/O タイムアウトの確認
<ph type="x-smartling-placeholder">このセクションでは、Google Cloud コンソールで I/O タイムアウトが正常に変更されたことを確認する方法について説明します。 Message Processor です。
トークン conf_http_HTTPTransport.io.timeout.millis
を使用して
Message Processor の I/O タイムアウトが 100 を超えた場合、実際のプロパティが
HTTPTransport.io.timeout.millis
に新しい値が設定されました。
- Message Processor マシンで、
HTTPTransport.io.timeout.millis
プロパティを検索します。 が/opt/apigee/edge-message-processor/conf
ディレクトリにあることを 次のように新しい値が設定されます。grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
- Message Processor で新しい I/O タイムアウト値が正常に設定されると、
コマンドにより、
http.properties
ファイルの新しい値が表示されます。 - プロパティ
HTTPTransport.io.timeout.millis
に古い値が引き続き表示される場合は、 記載されているすべての手順に Message Processor の I/O タイムアウトの構成を正しく構成する。既存の 手順をすべて間違えた場合は、すべての手順を正しく繰り返します。 - それでも I/O タイムアウトを変更できない場合は、 Apigee Edge のサポート。
I/O タイムアウトを次の値に構成した後の上記のコマンドの結果の例 120 秒は次のとおりです。
/opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
上記の出力例では、プロパティの値が
HTTPTransport.io.timeout.millis
に新しい値 120000
が設定されました
http.properties
。これは、I/O タイムアウトが正常に構成されていることを示します。
120 秒に短縮されます。
次のステップ
学習内容 <ph type="x-smartling-placeholder"></ph> ルーターの I/O タイムアウトの構成