Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Die von den Clientanwendungen gesendeten API-Anfragen werden durch verschiedene Komponenten in Apigee Edge geleitet, bevor sie die Backend-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 geleitet werden. Wenn eine der Komponenten im Ablauf mehr Zeit in Anspruch nimmt als die vorherige Komponente, tritt bei der vorherigen Komponente ein Zeitüberschreitungsfehler auf und es wird eine 504-Gateway-Zeitüberschreitungsfehlermeldung zurückgegeben.
Bei der Konfiguration des Zeitlimits sollten die Werte in jeder Komponente mit äußerster Sorgfalt konfiguriert werden, da es sonst zu Fehlern vom Typ „504 Gateway-Zeitüberschreitung“ kommen kann.
In diesem Dokument werden Best Practices für die Konfiguration des I/O-Zeitlimits für verschiedene Komponenten beschrieben, über die die API-Anfragen in Apigee Edge fließen.
Best Practices für die Konfiguration des I/O-Zeitlimits
Beachten Sie beim Konfigurieren des I/O-Zeitlimits die folgenden Best Practices:
- Erste Komponente:Verwenden Sie für die erste Komponente im API-Anfrageablauf immer die höchste Zeitüberschreitung. Das ist die Clientanwendung in Apigee Edge.
- Letzte Komponente:Verwenden Sie für die letzte Komponente im API-Anfrageablauf immer die kürzeste Zeitüberschreitung. Das ist der Back-End-Dienst in Apigee Edge.
- Zwischen Komponenten:Der in jeder Komponente konfigurierte Zeitüberschreitungs-Wert zwischen der ersten und der letzten Komponente im Fluss muss mindestens 2 bis 3 Sekunden betragen.
- Router:Es empfiehlt sich, den E/A-Zeitüberschreitungswert für einen bestimmten virtuellen Host zu konfigurieren (zu ändern), anstatt ihn auf dem Router zu konfigurieren. So wird sichergestellt, dass sich der neue Zeitüberschreitungs-Wert nur auf die API-Proxys auswirkt, die den jeweiligen virtuellen Host verwenden, und nicht auf alle API-Proxys, die vom Router bereitgestellt werden.
Konfigurieren (ändern) Sie die I/O-Zeitüberschreitung auf dem Router nur, wenn Sie absolut sicher sind, dass der neue I/O-Zeitüberschreitungswert für alle API-Proxys erforderlich oder für alle API-Proxys auf dem Router anwendbar ist.
- Message Processor:Es empfiehlt sich, den E/A-Zeitlimitwert für einen bestimmten API-Proxy zu konfigurieren (zu ändern), anstatt ihn im Message Processor zu konfigurieren. So wird sichergestellt, dass sich der neue Zeitüberschreitungswert nur auf den jeweiligen API-Proxy und nicht auf alle API-Proxys auswirkt, die vom Message Processor bereitgestellt werden.
Konfigurieren (ändern) Sie die I/O-Zeitüberschreitung im Message Processor nur, wenn Sie absolut sicher sind, dass der neue I/O-Zeitüberschreitungswert für alle API-Proxys erforderlich oder für alle API-Proxys anwendbar ist, die auf dem Message Processor ausgeführt werden.
Beispielszenarien
Anhand der Szenarien in diesem Abschnitt können Sie nachvollziehen, wie Sie die Zeitüberschreitungswerte für die E/A richtig festlegen.
Szenario 1: Anfragen direkt von Clientanwendungen an Apigee Edge
In diesem Abschnitt werden die Best Practices beschrieben, die beim Einrichten der Zeitüberschreitungswerte in einer Apigee Edge-Umgebung befolgt werden sollten, in der es keine Zwischenkomponenten zwischen der Clientanwendung und Apigee Edge sowie zwischen Apigee Edge und Ihrem Backend-Server gibt.
Beispiel für eine Apigee-Einrichtung ohne Zwischenkomponenten
Wenn Apigee Edge wie im Diagramm oben ohne Zwischenkomponenten eingerichtet ist, beachten Sie die folgenden Best Practices:
- Die Clientanwendung ist die erste Komponente im Ablauf. Der Wert für höchstes Zeitlimit sollte auf dem Client festgelegt werden.
- Der Backend-Server ist die letzte Komponente im Ablauf. Der Wert für die niedrigste Zeitüberschreitung sollte auf dem Back-End-Server festgelegt werden.
- Konfigurieren Sie die Zeitüberschreitungswerte für die einzelnen Komponenten in der folgenden Reihenfolge:
Im folgenden Beispiel sind die Zeitüberschreitungswerte für die verschiedenen Komponenten gemäß den oben genannten Richtlinien festgelegt, 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-Umgebung beachten sollten, in der sich eine oder mehrere Zwischenkomponenten zwischen der Clientanwendung und Apigee Edge sowie zwischen Apigee Edge und Ihrem Backend-Server befinden.
Die Zwischenkomponenten können ein Load Balancer, ein Content Delivery Network (CDN), NGINX usw. sein.
Beispiel für eine Apigee-Einrichtung mit einer Zwischenkomponente zwischen Client und Apigee Edge sowie zwischen Apigee Edge und Backend-Server
Wenn Apigee Edge wie im Diagramm oben mit einer oder mehreren Zwischenkomponenten eingerichtet ist, beachten 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 Backend-Server ist die letzte Komponente im Ablauf. Der niedrigste Zeitüberschreitungswert sollte auf dem Back-End-Server festgelegt werden.
- Konfigurieren Sie die Zeitüberschreitungswerte für alle Komponenten, einschließlich der Zwischenkomponenten, in der folgenden Reihenfolge:
Im folgenden Beispiel sind die Zeitüberschreitungswerte für die verschiedenen Komponenten gemäß den oben genannten Richtlinien festgelegt, um Probleme zu vermeiden: