Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Eines der einzigartigen und nützlichen Merkmale von Apigee Edge ist die Möglichkeit, eine NodeJS-Anwendung in einen API-Proxy zu verpacken. Dadurch können Entwickler mit Edge ereignisgesteuerte serverseitige Anwendungen erstellen.
Anti-Pattern
Bei der Bereitstellung von API-Proxys werden diese für API-Anfragen verfügbar gemacht. Jeder der bereitgestellten API-Proxys wird in den Laufzeitspeicher von Message Processor geladen, um die API-Anfragen für den jeweiligen API-Proxy verarbeiten zu können. Daher nimmt die Laufzeitarbeitsspeichernutzung mit der Anzahl der bereitgestellten API-Proxys zu. Wenn Sie ungenutzte API-Proxys bereitstellen, kann dies zu einer unnötigen Nutzung von Laufzeitarbeitsspeicher führen.
Bei NodeJS API-Proxys hat dies eine weitere Auswirkung.
Die Plattform startet eine „Knoten-App“ für jeden bereitgestellten NodeJS API-Proxy. Eine Knotenanwendung ähnelt einer eigenständigen Knotenserverinstanz im Message Processor-JVM-Prozess.
Tatsächlich startet Edge für jeden bereitgestellten NodeJS API-Proxy jeweils einen Knotenserver, um Anfragen für die entsprechenden Proxys zu verarbeiten. Wenn derselbe NodeJS API-Proxy in mehreren Umgebungen bereitgestellt wird, wird für jede Umgebung eine entsprechende Knotenanwendung gestartet. In Situationen, in denen viele bereitgestellte, aber nicht verwendete NodeJS API-Proxys vorhanden sind, werden mehrere Knotenanwendungen gestartet. Nicht verwendete NodeJS-Proxys werden in inaktive Knotenanwendungen umgewandelt, die Arbeitsspeicher belegen und die Startzeiten des Anwendungsprozesses beeinträchtigen.
Verwendete Proxys | Nicht verwendete Proxys | ||||
---|---|---|---|---|---|
# Proxys | # bereitgestellte Umgebungen | # Knoten-Apps gestartet | # Proxys | # bereitgestellte Umgebungen | # Knoten-Apps gestartet |
10 | Entwicklung, Test, Produktion (3) | 10x3=30 | 12 | Entwicklung, Test, Produktion (3) | 12x3=36 |
In der obigen Abbildung werden 36 nicht verwendete Knoten-Apps gestartet, die Systemspeicher verbrauchen und sich nachteilig auf die Startzeiten des Prozesses auswirken.
Auswirkungen
- Hohe Arbeitsspeichernutzung und kaskadierende Auswirkung auf die Fähigkeit der Anwendung, weitere Anfragen zu verarbeiten
- Mögliche Auswirkungen auf die Leistung der API-Proxys, die tatsächlich Traffic bereitstellen
Best Practice
- Bereitstellung nicht verwendeter API-Proxys aufheben
- Verwenden Sie das Analytics Proxy Performance-Dashboard, um festzustellen, welche Proxys keinen Traffic bereitstellen. Heben Sie die Bereitstellung der Proxys auf, die Sie nicht benötigen.