Apigee Edge 上 Node.js 概览

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

您可以在 Apigee Edge 上托管 Node.js API,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 专用运行时技术的原生环境中运行。它为您提供了原生节点运行时,以便您使用自己喜欢的节点软件包。

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

下图展示了基本架构:

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

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

将 Node.js 部署到边缘设备的传统方法在内部依赖于一个名为 (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 部署方法最适合您,请参阅以下概览: