Zeitlimit für Verbindungen in Nachrichtenprozessoren konfigurieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

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

Das Verbindungszeitlimit stellt die Zeit dar, die der Message Processor auf den Verbindungsaufbau zum Zielserver wartet. Der Standardwert der Eigenschaft für das Zeitlimit der Verbindung auf Message Processor beträgt 3 Sekunden. Dieses Zeitlimit gilt für die Back-End-Server, die in der Konfiguration des Zielendpunkts und in der Richtlinie ServiceCallout Ihres API-Proxys konfiguriert sind.

Das Zeitlimit für die Verbindung von Message Processorn kann je nach Bedarf auf den Standardwert von 3 Sekunden erhöht oder gesenkt werden. Es kann auf folgende Arten konfiguriert werden:

  • Im API-Proxy:
    • Am Zielendpunkt
    • In der Richtlinie „ServiceCallout
  • Auf dem Message Processor

Die folgenden Eigenschaften steuern das Zeitlimit für die Verbindung der Message Processor:

Property-Name Standort Beschreibung
connect.timeout.millis API-Proxy:
  • Zielendpunkt
  • ServiceCallout-Richtlinie

Dies ist die maximale Zeit, die der Message Processor auf die Verbindung mit dem Zielserver wartet.

Standardmäßig verwendet dieses Attribut den Wert, der für das Attribut HTTPClient.connect.timeout.millis von Message Processor festgelegt wurde, wobei der Standardwert 3 Sekunden ist.

Wenn dieses Attribut mit einem neuen Zeitüberschreitungswert für den Zielserver geändert wird, der mit einem API-Proxy verknüpft ist, wirkt sich nur die Verbindungszeit für diesen Zielserver aus.

HTTPClient.connect.timeout.millis Message Processor

Dies ist die maximale Zeit, die der Message Processor auf die Verbindung zum Zielserver wartet.

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

Der Standardwert dieser Property beträgt 3 Sekunden.

Sie können dieses Attribut entweder wie unten im Abschnitt Zeitüberschreitung bei Verbindungsherstellung mit Nachrichtenprozessoren konfigurieren beschrieben ändern oder diesen Wert überschreiben, indem Sie das Attribut connect.timeout.millis auf API-Proxyebene festlegen.

Hinweis

Bevor Sie die Schritte in diesem Dokument ausführen, sollten Sie sich mit den folgenden Themen vertraut machen:

Verbindungszeitlimit im API-Proxy konfigurieren

Das Zeitlimit für Verbindungen kann im API-Proxy an den folgenden Stellen konfiguriert werden:

  • Zielendpunkt
  • ServiceCallout-Richtlinie

Zeitlimit für Verbindungen im Zielendpunkt des API-Proxys konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das Verbindungszeitlimit im Zielendpunkt Ihres API-Proxys konfigurieren. Das Zeitlimit für die Verbindung kann über das Attribut connect.timeout.millis konfiguriert werden, das den Zeitüberschreitungswert für die Verbindung in Millisekunden angibt.

  1. Wählen Sie in der Edge-Benutzeroberfläche den jeweiligen API-Proxy aus, in dem Sie den neuen Wert für das Zeitlimit der Verbindung konfigurieren möchten.
  2. Wählen Sie den Zielendpunkt aus, den Sie ändern möchten.
  3. Fügen Sie das Attribut connect.timeout.millis mit einem geeigneten Wert unter dem Element <HTTPTargetConnection> in der TargetEndpoint-Konfiguration hinzu.

    Wenn Sie beispielsweise das Zeitlimit für die Verbindung in 5 Sekunden ändern möchten, fügen Sie den folgenden Codeblock ein:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    Da das Attribut connect.timeout.millis in Millisekunden angegeben wird, beträgt der Wert für 5 Sekunden 5000.

    Die folgenden Beispiele zeigen, wie Sie das Verbindungszeitlimit in der Zielendpunktkonfiguration Ihres API-Proxys konfigurieren:

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

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

    Beispiel für die Konfiguration eines Zielendpunkts mit einem Zielserver

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. Speichern Sie die an Ihrem API-Proxy vorgenommenen Änderungen.

Verbindungszeitlimit in der ServiceCallout-Richtlinie des API-Proxys konfigurieren

In diesem Abschnitt wird erläutert, wie Sie das Verbindungszeitlimit in der Richtlinie ServiceCallout Ihres API-Proxys konfigurieren. Das Zeitlimit für die Verbindung kann über das Attribut connect.timeout.millis konfiguriert werden, das den Wert für die Verbindungszeit in Millisekunden angibt.

So konfigurieren Sie das Zeitlimit für Verbindungen in der Richtlinie ServiceCallout mit dem Attribut connect.timeout.millis:

  1. Wählen Sie in der Edge-Benutzeroberfläche den jeweiligen API-Proxy aus, in dem Sie den neuen Wert für das Verbindungszeitlimit für die Richtlinie ServiceCallout konfigurieren möchten.
  2. Wählen Sie die spezifische ServiceCallout-Richtlinie aus, die Sie ändern möchten.
  3. Fügen Sie das Attribut connect.timeout.millis mit einem geeigneten Wert unter dem Element <HTTPTargetConnection> in der TargetEndpoint-Konfiguration hinzu.

    Wenn Sie beispielsweise das Zeitlimit für die Verbindung in 5 Sekunden ändern möchten, fügen Sie den folgenden Codeblock ein:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    Da das Attribut connect.timeout.millis in Millisekunden angegeben wird, beträgt der Wert für 5 Sekunden 5000.

    Die folgenden Beispiele zeigen, wie Sie das Verbindungszeitlimit in der Richtlinie ServiceCallout Ihres API-Proxys konfigurieren:

    Beispiel für die Konfiguration einer ServiceCallout-Richtlinie mit der URL für den Back-End-Server

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>
    

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

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
    
  4. Speichern Sie die an Ihrem API-Proxy vorgenommenen Änderungen.

Verbindungszeitlimit auf Message Processors konfigurieren

In diesem Abschnitt wird erläutert, wie das Verbindungszeitlimit auf den Message Processorn konfiguriert wird. Das Zeitlimit für die Verbindung kann über das Attribut conf_http_HTTPClient.connect.timeout.millis konfiguriert werden, das den Wert für das Zeitlimit der Verbindung in Millisekunden auf der Message Processor-Komponente darstellt. Dabei wird das Token gemäß der Syntax verwendet, die unter Konfigurieren von Edge beschrieben wird.

So konfigurieren Sie das Zeitlimit für Verbindungen auf den Message Processorn:

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

    Wenn Sie die Datei beispielsweise mit vi öffnen möchten, geben Sie Folgendes ein:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Fügen Sie der Attributdatei eine Zeile im folgenden Format hinzu und ersetzen Sie TIME_IN_MILLISECONDS durch einen Wert:
    conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
    

    Wenn Sie beispielsweise das Zeitlimit für die Verbindung des Message Processor auf 5 Sekunden ändern möchten, fügen Sie die folgende Zeile hinzu:

    conf_http_HTTPClient.connect.timeout.millis=5000
    
  3. Speichern Sie die Änderungen.
  4. Prüfen Sie, ob der Inhaber der Property-Datei dem apigee-Nutzer ist (siehe unten):
    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 Message Processor.

Zeitlimit für Verbindungen auf Message Processors prüfen

In diesem Abschnitt wird erläutert, wie Sie überprüfen können, ob das Verbindungszeitlimit auf den Message Processorn erfolgreich geändert wurde.

Auch wenn Sie das Token conf_http_HTTPClient.connect.timeout.millis verwenden, um das Zeitlimit für die Verbindung auf dem Message Processor festzulegen, müssen Sie prüfen, ob das tatsächliche Attribut HTTPClient.connect.timeout.millis mit dem neuen Wert festgelegt wurde.

  1. Suchen Sie auf dem Message Processor-Computer im Verzeichnis /opt/apigee/edge-message-processor/conf nach dem Attribut HTTPTransport.connect.timeout.millis und prüfen Sie, ob es mit dem neuen Wert festgelegt wurde (siehe unten):
    grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Wenn der neue Wert für die Zeitüberschreitung der Verbindung auf dem Message Processor festgelegt wurde, zeigt der obige Befehl den neuen Wert in der Datei http.properties an.

    Das Beispielergebnis aus dem obigen Befehl, nachdem Sie das Verbindungszeitlimit auf 5 Sekunden konfiguriert haben, sieht so aus:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
    

    In der obigen Beispielausgabe wurde das Attribut HTTPClient.connect.timeout.millis mit dem neuen Wert 5000 in http.properties festgelegt. Dies bedeutet, dass das Zeitlimit für die Verbindung auf dem Message Processor auf 5 Sekunden konfiguriert wurde.

  3. Wenn noch der alte Wert für das Attribut HTTPClient.connect.timeout.millis angezeigt wird, prüfen Sie, ob Sie alle unter Zeitüberschreitungen für Verbindungen bei Message Processors konfigurieren beschriebenen Schritte korrekt ausgeführt haben. Wenn Sie einen Schritt ausgelassen haben, wiederholen Sie alle Schritte korrekt.
  4. Wenn Sie das Verbindungszeitlimit immer noch nicht ändern können, wenden Sie sich an den Apigee Edge-Support von Google Cloud.