Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Die von den Clientanwendungen gestellten API-Anfragen fließen durch verschiedene Komponenten in Apigee Edge, bevor sie die Back-End-Dienste erreichen. Die meisten Clientanwendungen erwarten, dass die Antworten auf diese Anfragen zeitnah eingehen.
Um zeitnahe Antworten zu erhalten, werden die E/A-Zeitüberschreitungswerte in jeder der Komponenten festgelegt, durch die die API-Anfragen fließen. Wenn eine der Komponenten im Ablauf mehr Zeit benötigt als die vorherige Komponente, tritt das Zeitlimit der vorherigen Komponente auf und gibt 504 Gateway-Zeitüberschreitungsfehler zurück.
Beim Konfigurieren des Zeitlimits sollten die Werte mit äußerster Sorgfalt in jeder Komponente konfiguriert werden, da dies andernfalls zu Fehlern wegen Zeitüberschreitung im 504-Gateway führen kann.
In diesem Dokument werden Best Practices zum Konfigurieren des E/A-Zeitlimits für verschiedene Komponenten beschrieben, durch die die API-Anfragen in Apigee Edge fließen.
Best Practices zum Konfigurieren des E/A-Zeitlimits
Beachten Sie beim Konfigurieren des E/A-Zeitlimits die folgenden Best Practices:
- Erste Komponente: Verwenden Sie immer das höchste Zeitlimit für die erste Komponente im API-Anfrageablauf, also die Clientanwendung in Apigee Edge.
- Letzte Komponente: Verwenden Sie immer das niedrigste Zeitlimit für die letzte Komponente im API-Anfrageablauf. Dies ist der Back-End-Dienst in Apigee Edge.
- Zwischen Komponenten: Achten Sie darauf, dass der in jeder Komponente konfigurierte Zeitüberschreitungswert zwischen der ersten und der letzten Komponente im Ablauf mindestens 2 bis 3 Sekunden beträgt.
- Router: Es empfiehlt sich, immer den E/A-Zeitüberschreitungswert für einen bestimmten virtuellen Host zu konfigurieren (zu ändern), anstatt ihn auf dem Router zu konfigurieren. Dadurch wird sichergestellt, dass sich der neue Zeitüberschreitungswert nur auf die API-Proxys auswirkt, die den spezifischen virtuellen Host verwenden, und nicht auf alle vom Router bereitgestellten API-Proxys.
Konfigurieren (ändern) Sie das E/A-Zeitlimit auf dem Router nur, wenn Sie absolut sicher sind, dass der neue E/A-Zeitüberschreitungswert für alle auf dem Router ausgeführten API-Proxys erforderlich oder anwendbar ist.
- Nachrichtenprozessor: Es empfiehlt sich immer, den E/A-Zeitüberschreitungswert für einen bestimmten API-Proxy zu konfigurieren (zu ändern), anstatt ihn auf dem Message Processor zu konfigurieren. Dadurch wird sichergestellt, dass sich der neue Zeitüberschreitungswert nur auf den spezifischen API-Proxy und nicht auf alle API-Proxys auswirkt, die vom Message Processor bereitgestellt werden.
Konfigurieren (ändern) Sie das E/A-Zeitlimit auf dem Message Processor nur, wenn Sie absolut sicher sind, dass der neue E/A-Zeitüberschreitungswert für alle auf dem Message Processor ausgeführten API-Proxys erforderlich oder anwendbar ist.
Beispielszenarien
Anhand der Szenarien in diesem Abschnitt können Sie nachvollziehen, wie Sie die E/A-Zeitüberschreitungswerte richtig festlegen.
Szenario 1: Anfragen an Apigee Edge von Clientanwendungen direkt
In diesem Abschnitt werden die Best Practices beschrieben, die Sie beim Einrichten der Zeitüberschreitungswerte in einer Apigee Edge-Einrichtung befolgen sollten, wenn sich zwischen der Clientanwendung und Apigee Edge sowie zwischen Apigee Edge und Ihrem Back-End-Server keine Zwischenkomponenten befinden.
Beispiel für Apigee-Einrichtung ohne Zwischenkomponenten
Wenn Apigee Edge wie im obigen Diagramm ohne Zwischenkomponenten eingerichtet ist, verwenden Sie die folgenden Best Practices:
- Die Clientanwendung ist die erste Komponente im Ablauf. Der höchste Zeitüberschreitungswert sollte auf dem Client festgelegt werden.
- Der Back-End-Server ist die letzte Komponente im Ablauf. Der niedrigste Wert für die Zeitüberschreitung sollte auf dem Back-End-Server festgelegt werden.
- Konfigurieren Sie die Zeitüberschreitungswerte für jede der Komponenten in der folgenden Reihenfolge:
Das folgende Beispiel zeigt Zeitüberschreitungswerte, die für die verschiedenen Komponenten gemäß den obigen Richtlinien festgelegt wurden, um Probleme zu vermeiden:
Szenario 2: Anfragen an Apigee Edge von Clientanwendungen über Zwischenkomponenten
In diesem Abschnitt werden die Best Practices beschrieben, die Sie beim Einrichten der Zeitüberschreitungswerte in einer Apigee Edge-Einrichtung befolgen sollten, wenn sich eine oder mehrere Zwischenkomponenten zwischen der Clientanwendung und Apigee Edge sowie zwischen Apigee Edge und Ihrem Back-End-Server befinden.
Die Zwischenkomponenten können ein Load-Balancer, ein Content Delivery Network (CDN), NGINX usw. sein.
Beispiel für die Apigee-Einrichtung mit einer Zwischenkomponente zwischen Client und Apigee Edge sowie zwischen Apigee Edge und Back-End-Server
Wenn Apigee Edge wie im obigen Diagramm mit einer oder mehreren Zwischenkomponenten eingerichtet ist, verwenden Sie die folgenden Best Practices:
- Die Clientanwendung ist die erste Komponente im Ablauf. Der höchste timeout-Wert sollte auf dem Client festgelegt werden.
- Der Back-End-Server ist die letzte Komponente im Ablauf. Der niedrigste timeout-Wert sollte auf dem Back-End-Server festgelegt werden.
- Konfigurieren Sie die Zeitüberschreitungswerte für jede der Komponenten, einschließlich der Zwischenkomponenten, in der folgenden Reihenfolge:
Das folgende Beispiel zeigt Zeitüberschreitungswerte, die für die verschiedenen Komponenten gemäß den obigen Richtlinien festgelegt wurden, um Probleme zu vermeiden: