Apigee Edge 上 Node.js 概览

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

您可以在 Apigee Edge 上托管 Node.js API,其中 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 部署环境

部署到托管的目标

Hosted 目标允许 Node.js 应用在不依赖于任何 Apigee 特有的运行时技术的原生环境中运行。它为您提供了原生节点运行时,因此您可以使用喜爱的节点软件包。

您可以在部署应用之前在本地调试和测试应用,并确保已部署的版本与本地运行完全相同。在部署时,您可以选择任何应用运行时版本在 Hosted Target 中运行您的应用。例如,您可以专门选择在 v8.10.0 环境或任何其他版本中运行 Node.js 应用。

下图说明了基本架构:

Hosted Target 运行时环境的范围限定为 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 建议您考虑使用托管的目标。部署到 Hosted 目标的 Node.js 应用不依赖于任何 Apigee 特定的 Node.js 运行时技术。您的 Node.js 应用在 Hosted 目标中的运行方式与其在本地开发环境中的运行完全相同。

此外,Apigee 对传统 Node.js Edge 部署的支持也存在局限性:

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

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

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

用例

Node.js on Edge 的常见用例包括:

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

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

  • 构建复合服务和混搭。

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

后续步骤

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