Apigee Edge 上 Node.js 概览

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

您可以将 Node.js API 托管在 Apigee Edge 上,API 代理可以将其作为目标服务进行调用。

借助 Apigee Edge 上的 Node.js 支持,您可以使用 Node.js 为代理构建自定义后端服务。从本质上讲,Apigee Edge 会在限定于 Apigee 组织和环境的运行时环境中托管您的 Node.js 代码。部署到同一组织和环境的 API 代理可以调用 Node.js 应用公开的基于 HTTP 的 API。

Node.js 部署选项

Apigee 提供了两种用于托管 Node.js 代码的选项:托管目标传统 Node.js Edge 部署环境

部署到托管目标

借助托管目标,Node.js 应用可以在不依赖任何 Apigee 特定运行时技术的原生环境中运行。它为您提供原生 Node 运行时,因此您可以使用自己喜欢的 Node 软件包。

您可以在本地调试和测试应用,然后再部署该应用,并确保部署后的版本与本地版本完全一样。在部署时,您可以选择任何应用运行时版本,以便在托管目标平台中运行应用。例如,您可以专门选择在 v8.10.0 环境或其他任何版本中运行 Node.js 应用。

下图展示了基本架构:

托管目标运行时环境的范围限定为 Apigee 组织和环境,并且可以作为部署到同一组织和环境的任何 API 代理的目标。

部署到传统的嵌入式 Node.js 环境

将 Node.js 部署到 Edge 的传统方法在内部依赖于一个名为 (Trireme) 的开源桥接应用和一个名为 (Rhino) 的 JavaScript 解释器。这些组件可让 Node.js 代码直接在 Edge Java 运行时环境中执行。

传统的嵌入式 Node.js 运行时环境的作用域限定为 Apigee 组织和环境,并且可以作为部署到同一组织和环境的任何 API 代理的目标。

借助此方法,您可以使用名为 apigee-access 的支持模块,该模块可让您从 Node.js 应用代码中访问 API 代理流变量、缓存、键值映射和配额。

选择 Node.js 方法

Apigee 建议您考虑使用托管目标。部署到托管目标的 Node.js 应用不依赖于任何 Apigee 特定的 Node.js 运行时技术。您的 Node.js 应用在托管目标平台中的运行方式与在本地开发环境中的运行方式完全相同。

此外,Apigee 对传统 Node.js Edge 部署的支持存在以下限制:

  • 仅支持旧版 Node.js (0.10.32)。
  • 标准 Node.js 环境与 Trireme/Rhino 环境在行为上存在细微差异。
  • 将 Node.js 应用部署到 Edge 后,很难对其进行调试。

目前,托管目标不支持使用 apigee-access 访问代理流上下文中的资源,例如流变量。

如需详细了解传统的 Node.js Edge 部署,请参阅在 Edge 上进行传统的 Node.js 部署

使用场景

Node.js on Edge 的常见应用场景包括:

  • 构建高度自定义的独立 HTTP API 和后端服务。

  • 利用可编写脚本的目标端点,解决复杂的移动优化问题。

  • 构建复合服务和混搭。

  • 使用 Express 等框架快速开发新 API 的原型。

下一步

如需确定哪种 Node.js 部署方法最适合您,请阅读以下概览: