Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Eine der einzigartigen und nützlichen Funktionen von Apigee Edge ist die Möglichkeit, eine NodeJS-Anwendung in einen API-Proxy einzubinden. So können Entwickler mit Edge ereignisgesteuerte serverseitige Anwendungen erstellen.
Anti-Pattern
Beim Bereitstellen von API-Proxys werden sie für die Beantwortung von API-Anfragen verfügbar gemacht. Jeder der bereitgestellten API-Proxys wird in den Laufzeitspeicher des Message Processors geladen, damit die API-Anfragen für den jeweiligen API-Proxy verarbeitet werden können. Daher steigt die Arbeitsspeichernutzung bei der Laufzeit mit der Anzahl der bereitgestellten API-Proxys. Wenn nicht verwendete API-Proxys bereitgestellt bleiben, kann dies zu einer unnötigen Nutzung des Laufzeitspeichers führen.
Bei NodeJS API-Proxys gibt es eine weitere Einschränkung.
Die Plattform startet für jeden bereitgestellten NodeJS API-Proxy eine „Node-Anwendung“. Eine Node-Anwendung ähnelt einer eigenständigen Node-Serverinstanz im JVM-Prozess des Message Processors.
Für jeden bereitgestellten NodeJS API-Proxy startet Edge einen Node-Server, 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 Node-Anwendung gestartet. Wenn viele bereitgestellte, aber nicht verwendete NodeJS API-Proxys vorhanden sind, werden mehrere Node-Anwendungen gestartet. Nicht verwendete NodeJS-Proxys führen zu inaktiven Node-Anwendungen, die Speicher verbrauchen und die Startzeiten des Anwendungsprozesses beeinträchtigen.
Verwendete Proxys | Nicht verwendete Proxys | ||||
---|---|---|---|---|---|
# Proxies | # Deployed Environments | # nodeapps Launched | # Proxies | # Deployed Environments | # Node-Apps gestartet |
10 | dev, test, prod (3) | 10 × 3=30 | 12 | dev, test, prod (3) | 12 × 3=36 |
In der Abbildung oben werden 36 nicht verwendete Node-Apps gestartet, was den Systemspeicher belegt und sich negativ auf die Startzeit des Prozesses auswirkt.
Auswirkungen
- Hohe Arbeitsspeichernutzung und Kaskadeneffekt auf die Fähigkeit der Anwendung, weitere Anfragen zu verarbeiten
- Wahrscheinliche Leistungsauswirkungen auf die API-Proxys, die tatsächlich Traffic verarbeiten
Best Practice
- Bereitstellung nicht verwendeter API-Proxys aufheben
- Im Analytics-Dashboard „Proxy-Leistung“ sehen Sie, welche Proxys keinen Traffic verarbeiten. Deaktivieren Sie die nicht benötigten.