您正在查看的是 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 部署方法最适合您,请阅读以下概览: