Übersicht über Node.js in Apigee Edge

Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an.
info

Sie können Ihre Node.js APIs in Apigee Edge hosten, wo sie von API-Proxys als Zieldienste aufgerufen werden können.

Mit der Node.js-Unterstützung in Apigee Edge können Sie benutzerdefinierte Back-End-Dienste für Ihre Proxys in Node.js erstellen. Im Grunde wird Ihr Node.js-Code von Apigee Edge in einer Laufzeitumgebung gehostet, die auf eine Apigee-Organisation und -Umgebung beschränkt ist. API-Proxys, die in derselben Organisation und Umgebung bereitgestellt werden, können HTTP-basierte APIs aufrufen, die von der Node.js-Anwendung freigegeben werden.

Node.js-Bereitstellungsoptionen

Apigee bietet zwei Optionen zum Hosten von Node.js-Code: gehostete Ziele und die traditionelle Node.js-Edge-Bereitstellungsumgebung.

Auf gehostete Ziele bereitstellen

Mit gehosteten Zielen können Node.js-Anwendungen in einer nativen Umgebung ausgeführt werden, die nicht von einer Apigee-spezifischen Laufzeittechnologie abhängt. Sie bietet eine native Node-Laufzeit, sodass Sie Ihre bevorzugten Node-Pakete verwenden können.

Sie können Ihre App vor der Bereitstellung lokal debuggen und testen und sich darauf verlassen, dass die bereitgestellte Version genau wie lokal funktioniert. Bei der Bereitstellung können Sie eine beliebige Anwendungslaufzeitversion für die Ausführung Ihrer Anwendung in gehosteten Zielen auswählen. Sie können beispielsweise festlegen, dass eine Node.js-Anwendung in einer Umgebung der Version 8.10.0 oder einer anderen Version ausgeführt werden soll.

Die folgende Abbildung zeigt die grundlegende Architektur:

Die Laufzeitumgebung für gehostete Ziele ist auf eine Apigee-Organisation und -Umgebung beschränkt und kann als Ziel für alle API-Proxys dienen, die in derselben Organisation und Umgebung bereitgestellt werden.

In der traditionellen eingebetteten Node.js-Umgebung bereitstellen

Der traditionelle Ansatz zur Bereitstellung von Node.js im Edge basiert intern auf einer Open-Source-Bridge-Anwendung namens Trireme und einem JavaScript-Interpreter namens Rhino. Mit diesen Komponenten kann Node.js-Code direkt in der Edge-Java-Laufzeit ausgeführt werden.

Die traditionelle eingebettete Node.js-Laufzeitumgebung ist auf eine Apigee-Organisation und -Umgebung beschränkt und kann als Ziel für alle API-Proxys dienen, die in derselben Organisation und Umgebung bereitgestellt werden.

Bei diesem Ansatz können Sie das unterstützende Modul apigee-access verwenden, mit dem Sie über Ihren Node.js-Anwendungscode auf API-Proxy-Flowvariablen, Caches, Key-Value-Maps und Kontingente zugreifen können.

Node.js-Ansatz auswählen

Apigee empfiehlt die Verwendung von gehosteten Zielen. Node.js-Anwendungen, die auf gehosteten Zielen bereitgestellt werden, sind von keiner Apigee-spezifischen Node.js-Laufzeittechnologie abhängig. Ihre Node.js-Anwendung wird in gehosteten Zielen genau wie in Ihrer lokalen Entwicklungsumgebung ausgeführt.

Außerdem ist die Apigee-Unterstützung für die herkömmliche Node.js Edge-Bereitstellung eingeschränkt:

  • Es wird nur eine ältere Version von Node.js (0.10.32) unterstützt.
  • Es gibt geringfügige Unterschiede im Verhalten zwischen der standardmäßigen Node.js-Umgebung und der Trireme/Rhino-Umgebung.
  • Das Beheben von Fehlern in Node.js-Anwendungen nach der Bereitstellung auf Edge ist schwierig.

Derzeit wird bei gehosteten Zielen die Verwendung von apigee-access zum Zugriff auf Ressourcen im Proxy-Ablaufkontext, z. B. Ablaufvariablen, nicht unterstützt.

Weitere Informationen zur herkömmlichen Node.js-Edge-Bereitstellung finden Sie unter Herkömmliche Node.js-Bereitstellung auf Edge.

Anwendungsfälle

Gängige Anwendungsfälle für Node.js on Edge:

  • Erstellen von benutzerdefinierten, eigenständigen HTTP-basierten APIs und Back-End-Diensten

  • Komplexe und mobile Optimierungsprobleme mit dem Vorteil eines scriptbaren Zielendpunkts lösen

  • Zusammengesetzte Dienste und Mashups erstellen

  • Schnelle Entwicklung von Prototypen neuer APIs mit Frameworks wie Express.

Nächster Schritt

In den folgenden Übersichten erfahren Sie, welcher Node.js-Bereitstellungsansatz für Sie am besten geeignet ist: