Übersicht über Node.js in Apigee Edge

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Sie können Ihre Node.js APIs auf Apigee Edge hosten, wo API-Proxys sie als Zieldienste aufrufen 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 Wesentlichen hostet Apigee Edge Ihren Node.js-Code in einer Laufzeitumgebung, die auf eine Apigee-Organisation und -Umgebung ausgerichtet ist. API-Proxys, die in derselben Organisation und Umgebung bereitgestellt werden, können HTTP-basierte APIs aufrufen, die von der Node.js-Anwendung verfügbar gemacht werden.

Node.js-Bereitstellungsoptionen

Apigee bietet zwei Optionen zum Hosten von Node.js-Code: Gehostete Ziele und die herkömmliche Node.js-Edge-Bereitstellungsumgebung.

Auf gehosteten Zielen bereitstellen

Mit gehosteten Zielen können Node.js-Anwendungen in einer nativen Umgebung ausgeführt werden, die nicht von Apigee-spezifischer Laufzeittechnologie abhängig ist. Sie bietet Ihnen eine native Knotenlaufzeit, sodass Sie Ihre bevorzugten Knotenpakete verwenden können.

Sie können Ihre Anwendung vor der Bereitstellung lokal debuggen und testen. Die bereitgestellte Version funktioniert dann genauso wie lokal. Bei der Bereitstellung können Sie eine beliebige Anwendungslaufzeitversion zum Ausführen Ihrer Anwendung in gehosteten Zielen auswählen. Sie können beispielsweise eine Node.js-Anwendung in einer Umgebung mit Version 8.10.0 oder einer anderen Version ausführen.

Die folgende Abbildung veranschaulicht 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 herkömmlichen eingebetteten Node.js-Umgebung bereitstellen

Der traditionelle Ansatz zur Bereitstellung von Node.js in 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-Laufzeitumgebung ausgeführt werden.

Die herkömmliche, 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 ein unterstützendes Modul namens apigee-access verwenden, mit dem Sie innerhalb Ihres Node.js-Anwendungscodes auf API-Proxy-Flussvariablen, Caches, Schlüsselwertzuordnungen und Kontingente zugreifen können.

Node.js-Ansatz auswählen

Apigee empfiehlt die Verwendung gehosteter Ziele. Auf gehosteten Zielen bereitgestellte Node.js-Anwendungen hängen nicht von Apigee-spezifischer Node.js-Laufzeittechnologie ab. Die Node.js-Anwendung wird in gehosteten Zielen genauso wie in Ihrer lokalen Entwicklungsumgebung ausgeführt.

Darüber hinaus hat die Apigee-Unterstützung für die herkömmliche Node.js-Edge-Bereitstellung Einschränkungen:

  • Es wird nur eine ältere Version von Node.js (0.10.32) unterstützt.
  • Es gibt kleine Unterschiede im Verhalten zwischen der standardmäßigen Node.js-Umgebung und der Trireme/Rhino-Umgebung.
  • Es ist schwierig, Fehler in Node.js-Anwendungen nach ihrer Bereitstellung in Edge zu beheben.

Derzeit unterstützen gehostete Ziele die Verwendung von apigee-access für den Zugriff auf Ressourcen im Proxy-Ablaufkontext, wie Flussvariablen, nicht.

Weitere Informationen zur traditionellen Node.js-Edge-Bereitstellung finden Sie unter Herkömmliche Node.js-Bereitstellung in Edge.

Anwendungsfälle

Häufige Anwendungsfälle für Node.js on Edge sind:

  • Hochgradig angepasste eigenständige HTTP-basierte APIs und Back-End-Dienste erstellen

  • Komplexe und mobile Optimierungsprobleme mithilfe eines skriptfähigen Zielendpunkts lösen

  • Zusammengesetzte Dienste und Mashups erstellen

  • Schnelle Entwicklung von Prototypen für neue APIs mit Frameworks wie Express.

Nächster Schritt

Lesen Sie die Übersichten, um zu entscheiden, welcher Ansatz für die Node.js-Bereitstellung am besten für Sie geeignet ist: