E/A-Zeitüberschreitung in Nachrichtenprozessoren konfigurieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

In diesem Dokument wird erläutert, wie Sie das E/A-Zeitlimit für die Apigee Edge-Nachrichtenprozessoren konfigurieren.

Das E/A-Zeitlimit beim Message Processor stellt die Zeit dar, für die der Message Processor wartet entweder auf eine Antwort vom Back-End-Server oder darauf, dass der Socket zum Schreiben bereit ist eine Anfrage an den Back-End-Server gesendet, bevor das Zeitlimit überschritten wird.

Der Standardwert für das E/A-Zeitlimit des Message Processor ist 55 seconds. Dieses Zeitlimit Angabe des Zeitraums zu den Back-End-Servern, die in der Konfiguration des Zielendpunkts und im ServiceCallout konfiguriert sind Ihres API-Proxys.

Das E/A-Zeitlimit für Message Processor kann gegenüber dem Standardwert von 55 seconds entsprechend Ihren Anforderungen. Sie kann an den folgenden Stellen konfiguriert werden:

  • Im API-Proxy <ph type="x-smartling-placeholder">
      </ph>
    • Zielendpunkt
    • ServiceCallout-Richtlinie
  • Im Message Processor

Mit den folgenden Eigenschaften wird das E/A-Zeitlimit bei Message Processors gesteuert:

Property-Name Standort Beschreibung
io.timeout.millis

API-Proxy:

  • Zielendpunkt
  • Service Callout-Richtlinie

Dies ist die maximale Zeit, während der der Message Processor Folgendes ausführt:

  • Wartet auf den Empfang einer Antwort vom Backend-Server, nachdem der Verbindung herstellen und die Anfrage an den Backend-Server senden ODER
  • Wartet, bis der Socket bereit ist, damit der Message Processor die Anfrage an auf dem Back-End-Server.

Wenn innerhalb dieses Zeitlimits keine Antwort vom Back-End-Server eingeht, Beim Message Processor tritt eine Zeitüberschreitung auf.

Standardmäßig wird für diese Eigenschaft der Wert verwendet, der für das Attribut HTTPTransport.io.timeout.millis im Message Processor. Der Standardwert ist 55 seconds.

Wenn dieses Attribut mit einem neuen Zeitüberschreitungswert für einen bestimmten API-Proxy geändert wird, dann ist nur dieser API-Proxy betroffen.

HTTPTransport.io.timeout.millis Message Processor

Dies ist die maximale Zeit, während der der Message Processor Folgendes ausführt:

  • Wartet auf den Empfang einer Antwort vom Backend-Server, nachdem die Verbindung hergestellt wurde und das Senden der Anfrage an den Back-End-Server ODER
  • Wartet, bis der Socket bereit ist, damit der Message Processor die Anfrage an auf dem Back-End-Server.

Wenn innerhalb dieses Zeitlimits keine Antwort vom Back-End-Server eingeht, Beim Message Processor tritt eine Zeitüberschreitung auf.

Diese Eigenschaft wird für alle API-Proxys verwendet, die auf diesem Message Processor ausgeführt werden.

Der Standardwert dieses Attributs ist 55 seconds.

Sie können diese Eigenschaft wie in Konfigurieren Sie das E/A-Zeitlimit bei Message Processors oder überschreiben Sie diesen Wert, indem Sie das Attribut io.timeout.millis in der API festlegen Proxy-Level.

Hinweis

Bevor Sie die Schritte in diesem Dokument verwenden, machen Sie sich mit den folgenden Themen vertraut:

E/A-Zeitlimit im API-Proxy konfigurieren

Das E/A-Zeitlimit kann an den folgenden Stellen des API-Proxys konfiguriert werden:

  • Zielendpunkt
  • ServiceCallout-Richtlinie

E/A-Zeitlimit im Zielendpunkt des API-Proxys konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit im Zielendpunkt Ihres API-Proxys konfigurieren. Das E/A-Zeitlimit kann über das Attribut io.timeout.millis konfiguriert werden, das stellt den E/A-Zeitüberschreitungswert in Millisekunden dar.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">
  1. Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie das neue E/A-Zeitüberschreitungswert.
  2. Wählen Sie den Zielendpunkt aus, den Sie ändern möchten.
  3. Fügen Sie die Eigenschaft io.timeout.millis mit einem entsprechenden Wert unter der Eigenschaft <HTTPTargetConnection>-Element in der TargetEndpoint-Konfiguration.
  4. Wenn Sie beispielsweise das E/A-Zeitlimit in 120 Sekunden ändern möchten, fügen Sie den folgenden Codeblock hinzu:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Da das Attribut io.timeout.millis in Millisekunden angegeben ist, wird der Wert für 120 Sekunden entsprechen 120000.

    Die folgenden Beispiele zeigen, wie das E/A-Zeitlimit im Zielendpunkt konfiguriert wird Konfiguration Ihres API-Proxys:

    Beispiel für die Konfiguration eines Zielendpunkts mit der URL für den Backend-Server

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>
    

    Beispiel für die Konfiguration eines Zielendpunkts mit dem Zielserver

    <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>
    
    <ph type="x-smartling-placeholder">
  5. Speichern Sie die Änderungen an Ihrem API-Proxy.

E/A-Zeitlimit in der ServiceCallout-Richtlinie des API-Proxys konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie Ihres API-Proxy. Das E/A-Zeitlimit kann über das Element <Timeout> konfiguriert werden oder die Property io.timeout.millis. Sowohl das <Timeout>-Element als auch das Die Property io.timeout.millis stellt die Werte für das E/A-Zeitlimit in Millisekunden dar.

<ph type="x-smartling-placeholder"> <ph type="x-smartling-placeholder">

Sie können das E/A-Zeitlimit in der ServiceCallout-Richtlinie mit einer der folgenden Methoden konfigurieren:

  • <Timeout>-Element.
  • io.timeout.millis-Property.

Zeitüberschreitungselement

So konfigurieren Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie mithilfe der <Timeout> -Element handelt, gehen Sie so vor:

  1. Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie die Neuer E/A-Zeitüberschreitungswert für die ServiceCallout-Richtlinie.
  2. Wählen Sie die ServiceCallout-Richtlinie aus, die Sie ändern möchten.
  3. Fügen Sie das Element <Timeout> mit einem entsprechenden Wert unter der <ServiceCallout>-Konfiguration.

    Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie die folgende Codezeile hinzu:

        <Timeout>120000</Timeout>
    

    Da das <Timeout>-Element in Millisekunden angegeben wird, wird der Wert für 120 Sekunden entsprechen 120000.

    Das folgende Beispiel zeigt, wie das E/A-Zeitlimit im ServiceCallout konfiguriert wird mit dem Element <Timeout>:

    Beispiel für die Konfiguration der ServiceCallout-Richtlinie mit der URL für den Backend-Server

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Speichern Sie die Änderungen an Ihrem API-Proxy.

Property „io.timeout.millis“

So konfigurieren Sie das E/A-Zeitlimit in der ServiceCallout-Richtlinie mithilfe der io.timeout.millis:

  1. Wählen Sie in der Edge-Benutzeroberfläche den spezifischen API-Proxy aus, in dem Sie konfigurieren möchten. den neuen E/A-Zeitüberschreitungswert für die ServiceCallout-Richtlinie.
  2. Wählen Sie die ServiceCallout-Richtlinie aus, die Sie ändern möchten.
  3. Fügen Sie die Eigenschaft io.timeout.millis mit einem entsprechenden Wert unter der Eigenschaft <HTTPTargetConnection>-Element in der TargetEndpoint-Konfiguration.

    Wenn Sie beispielsweise das E/A-Zeitlimit auf 120 Sekunden ändern möchten, fügen Sie den folgenden Block hinzu: des Codes:

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    Da das Attribut io.timeout.millis in Millisekunden angegeben ist, wird der Wert für 120 Sekunden entsprechen 120000.

    Die folgenden Beispiele zeigen, wie das E/A-Zeitlimit im Zielendpunkt konfiguriert wird Konfiguration Ihres API-Proxys:

    Beispiel für die Konfiguration der ServiceCallout-Richtlinie mit der URL für den Backend-Server

    <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>
    

    Beispiel für die Konfiguration einer ServiceCallout-Richtlinie mit Zielserver

    <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>
    
  4. Speichern Sie die Änderungen an Ihrem API-Proxy.

E/A-Zeitüberschreitung bei Message Processors konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das E/A-Zeitlimit in Message Processors konfigurieren. Das E/A-Zeitlimit kann über das Attribut HTTPTransport.io.timeout.millis konfiguriert werden. der den E/A-Zeitüberschreitungswert in Millisekunden für die Message Processor-Komponente darstellt, Verwendung des Tokens gemäß der Syntax unter Konfiguration Edge

So konfigurieren Sie das E/A-Zeitlimit für die Message Processors:

  1. Öffnen Sie auf dem Message Processor-Computer die folgende Datei in einem Editor. Falls nicht, bereits vorhanden sind, dann erstellen Sie sie.
    /opt/apigee/customer/application/message-processor.properties
    

    Um die Datei beispielsweise mit vi, geben Sie den folgenden Befehl ein:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Fügen Sie der Eigenschaftendatei eine Zeile im folgenden Format hinzu und ersetzen Sie dabei einen Wert für TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Um beispielsweise das E/A-Zeitlimit des Message Processor auf 120 Sekunden zu ändern, fügen Sie die folgende Zeile hinzu:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  3. Speichern Sie die Änderungen.
  4. Achten Sie darauf, dass die Property-Datei dem Nutzer apigee gehört, wie unten gezeigt:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Starten Sie den Message Processor wie unten gezeigt neu:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Wenn Sie mehr als einen Message Processor haben, wiederholen Sie die obigen Schritte für alle Prozessoren.

E/A-Zeitüberschreitung bei Message Processors prüfen

<ph type="x-smartling-placeholder">

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das E/A-Zeitlimit erfolgreich geändert wurde Message Processors.

Auch wenn Sie das Token conf_http_HTTPTransport.io.timeout.millis verwenden, E/A-Zeitüberschreitung im Message Processor. Sie müssen überprüfen, ob die eigentliche Property HTTPTransport.io.timeout.millis wurde mit dem neuen Wert festgelegt.

  1. Suchen Sie auf dem Message Processor-Computer nach der Eigenschaft HTTPTransport.io.timeout.millis. im Verzeichnis /opt/apigee/edge-message-processor/conf und prüfen Sie, wie unten dargestellt mit dem neuen Wert festgelegt wurde:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Wenn das neue E/A-Zeitlimit im Message Processor festgelegt wurde, gilt der oben wird der neue Wert in der Datei http.properties angezeigt.
  3. Das Beispielergebnis des obigen Befehls, nachdem Sie das E/A-Zeitlimit so konfiguriert haben: 120 Sekunden:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    Beachten Sie in der obigen Beispielausgabe, dass das Attribut HTTPTransport.io.timeout.millis wurde auf den neuen Wert 120000 festgelegt in http.properties Dies zeigt an, dass das E/A-Zeitlimit erfolgreich konfiguriert wurde auf 120 Sekunden im Message Processor.

  4. Wenn Sie noch den alten Wert für die Eigenschaft HTTPTransport.io.timeout.millis sehen, und bestätigen Sie, dass Sie alle Schritte ausgeführt haben, E/A-Zeitüberschreitung bei Message Processors korrekt konfigurieren. Wenn Sie einen Schritt verpasst haben, wiederholen Sie alle Schritte erneut richtig.
  5. Wenn Sie das E/A-Zeitlimit immer noch nicht ändern können, wenden Sie sich an Apigee Edge-Unterstützung

Wie geht es weiter?

Weitere Informationen <ph type="x-smartling-placeholder"></ph> E/A-Zeitlimit auf Routern konfigurieren