Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Puoi ospitare le tue API Node.js su Apigee Edge, dove i proxy API possono chiamarle come servizi target.
Il supporto di Node.js su Apigee Edge ti consente di creare servizi di backend personalizzati per i tuoi proxy in Node.js. In sostanza, Apigee Edge ospita il codice Node.js in un ambiente di runtime limitato a un'organizzazione e a un ambiente Apigee. I proxy API di cui è stato eseguito il deployment nella stessa organizzazione e nello stesso ambiente possono chiamare API basate su HTTP esposte dall'applicazione Node.js.
Opzioni di deployment di Node.js
Apigee offre due opzioni per l'hosting del codice Node.js: Target ospitati e l'ambiente di deployment Edge Node.js tradizionale.
Esegui il deployment in target ospitati
Destinazioni ospitate consente alle applicazioni Node.js di essere eseguite in un ambiente nativo che non dipende da alcuna tecnologia di runtime specifica di Apigee. Fornisce un runtime Node nativo, quindi puoi utilizzare i tuoi pacchetti Node preferiti.
Puoi eseguire il debug e testare l'app localmente prima di eseguirne il deployment e assicurarti che la versione di cui è stato eseguito il deployment funzioni esattamente come in locale. Al momento del deployment, puoi scegliere qualsiasi versione di runtime dell'applicazione per eseguirla nei target ospitati. Ad esempio, potresti scegliere di eseguire specificamente un'app Node.js in un ambiente v8.10.0 o in qualsiasi altra versione.
La figura seguente illustra l'architettura di base:
L'ambiente di runtime Destinazioni ospitate è limitato a un'organizzazione e un ambiente Apigee e può essere utilizzato come destinazione per qualsiasi proxy API di cui è stato eseguito il deployment nella stessa organizzazione e nello stesso ambiente.
Esegui il deployment nell'ambiente Node.js incorporato tradizionale
L'approccio tradizionale al deployment di Node.js su Edge si basa internamente su un'applicazione di bridge open source chiamata (Trireme) e su un interprete JavaScript chiamato (Rhino). Questi componenti consentono di eseguire il codice Node.js direttamente nell'ambiente di runtime Java Edge.
L'ambiente di runtime Node.js tradizionale incorporato è limitato a un'organizzazione e un ambiente Apigee e può essere utilizzato come target per qualsiasi proxy API di cui viene eseguito il deployment nella stessa organizzazione e nello stesso ambiente.
Con questo approccio, puoi utilizzare un modulo di supporto chiamato apigee-access che ti consente di accedere alle variabili di flusso del proxy API, alle cache, alle mappe di valori chiave e alle quote dal codice dell'applicazione Node.js.
Scegliere un approccio Node.js
Apigee consiglia di valutare l'utilizzo di Destinazioni ospitate. Le app Node.js messe in produzione in Destinazioni ospitate non dipendono da alcuna tecnologia di runtime Node.js specifica di Apigee. L'app Node.js verrà eseguita nei target ospitati esattamente come nell'ambiente di sviluppo locale.
Inoltre, il supporto di Apigee per il deployment Edge di Node.js tradizionale presenta delle limitazioni:
- È supportata solo una versione precedente di Node.js (0.10.32).
- Esistono differenze sottili nel comportamento tra l'ambiente Node.js standard e l'ambiente Trireme/Rhino.
- Il debug delle app Node.js dopo il loro deployment in Edge è difficile.
Attualmente, i target ospitati non supportano l'utilizzo di apigee-access per accedere alle risorse nel contesto del flusso proxy, ad esempio le variabili di flusso.
Per scoprire di più sul deployment di Node.js Edge tradizionale, consulta Deployment di Node.js tradizionale su Edge.
Casi d'uso
I casi d'uso comuni per Node.js su Edge includono:
Creazione di API e servizi di backend autonomi basati su HTTP altamente personalizzati.
Risolvere problemi di ottimizzazione complessi e per dispositivi mobili con il vantaggio di un endpoint di destinazione scriptabile.
Creazione di servizi compositi e mashup.
Sviluppo rapido di prototipi di nuove API utilizzando framework come Express.
Passaggio successivo
Per decidere quale approccio di implementazione di Node.js è più adatto a te, leggi le panoramiche: