您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
Edge Microgateway v. 2.3.x
受众群体
本主题是对 Edge Microgateway 的一般介绍,面向所有受众群体。
Apigee Edge Microgateway 是什么?
Apigee Edge Microgateway 是一款基于 HTTP 的安全 API 消息处理器。其主要任务是安全地处理传入和传出后端服务的请求和响应,同时异步将有价值的 API 执行数据推送到 Apigee Edge,以供 Edge Analytics 系统使用。Edge Microgateway 易于安装和部署,您可以在几分钟内启动实例并使其正常运行。
通常,Edge Microgateway 安装在靠近后端目标服务的可信网络中。它提供企业级安全性,以及一些关键的插件功能(例如突发流量抑制、配额和分析),但不具备 Apigee Edge 的全部功能或足迹。 您可以将 Edge Microgateway 安装在与后端服务相同的数据中心,甚至可以安装在同一台机器上(如果需要)。
主要用例
混合 Cloud API 管理解决方案(例如 Edge Microgateway)的典型用例包括:
-
降低了近距离运行的服务的 API 流量延迟时间。例如,如果您的 API 使用方和生产方相距不远,您不一定希望 API 通过中央网关。
- 出于安全或合规性目的,将 API 流量保留在企业批准的边界内。
- 在互联网连接暂时中断时继续处理消息。
- 另请参阅 Apigee 社区中的此用例讨论。
主要功能和优势
- 安全。Edge Microgateway 使用 Apigee Edge 向每个客户端应用颁发的已签名访问令牌或 API 密钥对请求进行身份验证。
- 快速部署。与完整部署 Apigee Edge 不同,您只需几分钟时间即可部署和运行 Edge Microgateway 实例。
- 网络近似性。您可以在与 Edge Microgateway 交互的后端目标 API 所在的机器、子网或数据中心内安装和管理 Edge Microgateway。
- Google Cloud Analytics。Edge Microgateway 会异步将 API 执行数据传送到 Apigee Edge,由 Edge Analytics 系统进行处理。您可以使用整套 Edge Analytics 指标、信息中心和 API。
- 缩短延迟时间。与 Apigee Edge 的所有通信都是异步的,并且不是作为处理客户端 API 请求的一部分发生。这样,Edge Microgateway 就可以收集 API 数据并将其发送到 Apigee Edge,而不会影响延迟时间。
- 熟悉度。Edge Microgateway 使用并与 Edge 管理员已经非常熟悉的 Apigee Edge 功能(例如代理、产品和开发者应用)进行交互。
- 配置。无需编程即可设置和管理 Edge Microgateway。所有内容都通过配置进行处理。
- 便捷。您可以将 Edge Microgateway 与现有的应用监控和管理基础架构和流程集成。
- 简单。易于安装、配置和维护。
- 日志记录。日志文件详细记录了 Edge Microgateway 在处理 API 期间遇到的所有正常和异常事件。
- CLI。借助命令行界面,您可以启动、停止和重启 Edge Microgateway、提取运行统计信息、查看日志文件、请求访问令牌等。
关于 Edge Microgateway 的须知事项
本部分介绍了 Edge Microgateway 的工作原理、基本架构、配置和部署。
为何使用 Edge Microgateway?
将 API 管理组件移到后端目标应用附近可以减少网络延迟。虽然您可以在私有云中本地安装 Apigee Edge,但 Apigee Edge 的完整部署的规模必须庞大且复杂,才能支持其完整功能集和数据量极大的功能(例如密钥管理、获利和分析)。也就是说,不一定要在每个数据中心本地部署 Apigee Edge。
借助 Edge Microgateway,您可以在后端应用附近运行一个占用空间相对较小的应用。此外,您还可以充分利用 Apigee Edge 来使用分析、安全和其他功能。
部署场景示例
本部分介绍了 Edge Microgateway 的几种可能的部署场景。
同一台机器
图 1 显示了在 Edge Microgateway 以尽可能简单的配置部署时,请求处理路径。其中,Edge Microgateway 和后端目标 API 安装在同一台机器上。
图 1:最简单的 Edge Microgateway 部署

其他设备
由于客户端、Edge Microgateway 和后端 API 实现之间的所有通信都是通过 HTTP 进行的,因此您可以在与 API 实现不同的计算机上安装 Apigee Edge Microgateway,如图 2 所示。
图 2:Edge Microgateway 与后端目标 API 分离

代理多个应用
单个 Edge Microgateway 实例可用于前置多个后端目标应用,如图 3 所示。
图 3:Edge Microgateway 可以充当多个 API 代理的前端

使用负载平衡器
Edge Microgateway 本身可以由标准反向代理或负载平衡器作为前端,以实现 SSL 终止和/或负载均衡,如图 4 所示。
图 4:使用负载平衡器运行 Edge Microgateway

内网部署
使用 Edge Microgateway 保护 intranet 流量,同时使用 Apigee Edge 保护互联网流量,如图 5 所示。假设 API 端点 /orders 通过 Apigee Edge Cloud 进行代理,并命中后端目标 https://mycompany.com/orders。这由左侧的目标 API 实现表示。然后,此 API 可能会调用右侧目标实现所代表的多个 API 端点。例如,它可能会在内部调用 /customers 和 /transactions。另请参阅 Apigee 社区中的
这篇帖子。
图 5:运行 Edge Microgateway 来保护 intranet 流量

对 Apigee Edge 的依赖
Edge Microgateway 依赖于 Apigee Edge 并与之交互。Edge Microgateway 必须与 Apigee Edge 通信才能正常运行。Edge Microgateway 与 Edge 交互的主要方式包括:
- 启动后,Edge Microgateway 会获取特殊的“Edge Microgateway 感知型”代理列表,以及 Apigee Edge 组织中的所有产品列表。对于每个传入的客户端请求,Edge Microgateway 都会确定该请求是否与其中一个 API 代理匹配,然后根据与该代理关联的产品中的密钥验证传入的访问令牌或 API 密钥。
- Apigee Edge Analytics 系统会存储和处理从 Edge Microgateway 异步发送的 API 数据。
- Apigee Edge 提供用于对访问令牌进行签名的凭据,或提供通过 Edge Microgateway 进行 API 调用的客户端所需的 API 密钥。您可以使用 CLI 命令获取这些令牌。
一次性配置
您必须先配置 Edge Microgateway,才能与 Apigee Edge 组织通信。在启动时,Edge Microgateway 会使用 Apigee Edge 启动引导操作。 Edge Microgateway 会从 Apigee Edge 检索自行处理 API 调用所需的信息,包括在 Apigee Edge 上部署的 Edge Microgateway 感知代理的列表。我们稍后会详细介绍这些代理。
Edge Microgateway 不必与 Apigee Edge 共存;Apigee Edge 公有云和私有云产品同样适用。
如果您希望边学边做,请跳转至设置和配置 Edge Microgateway,其中将详细介绍使用方便的 CLI 命令设置和配置 Edge Microgateway 的过程。
关于 Edge Microgateway 感知代理的须知信息
支持 Edge Microgateway 的代理会向 Edge Microgateway 提供特定信息,以便 Edge Microgateway 处理客户端 API 请求。在 Edge Microgateway 启动时,系统会将这些代理的相关信息从 Apigee Edge 下载到 Edge Microgateway。
您或您的 API 团队可以使用 Apigee Edge 管理界面或其他方式(如有需要)在 Apigee Edge 上创建这些代理。这很容易,我们将在设置和配置 Edge Microgateway 中详细介绍。
支持 Edge Microgateway 的代理的特性包括:
- 微服务感知型代理会向 Edge Microgateway 提供两项关键信息:基础路径和目标网址。
- 微服务感知型代理必须指向 HTTP 目标端点。后端目标不能是 TargetEndpoint 定义中的 ScriptTarget 元素引用的 Node.js 应用。如需了解详情,请参阅上文中的备注。
- 代理名称必须以
edgemicro_为前缀。例如:edgemicro_weather。 - 您无法在 Apigee Edge 管理界面的代理编辑器中修改 Edge Microgateway 代理。也就是说,您无法添加政策或添加条件流。(或者,如果您尝试这样做,系统会忽略这些操作。)
- 否则,Edge Microgateway 代理会在 Edge 管理界面中显示,就像 Edge 上的任何其他 API 代理一样。
- 与 Edge 上的任何 API 代理一样,Edge Microgateway 代理可以捆绑到产品中,并与开发者应用相关联。
- 与任何其他代理一样,您可以跟踪 Edge Microgateway 代理分析。
- 无法使用 Apigee Edge Trace 工具跟踪 Edge Microgateway 代理。
详细了解 Edge Microgateway 和 Apigee Edge Analytics
当 API 流量流经 Edge Microgateway 时,Edge Microgateway 会缓冲 API 执行数据,并异步将其发送到 Apigee Edge,Edge Analytics 系统会在该位置存储和处理数据。这种异步通信使 Edge Microgateway 能够利用 Edge 分析功能,同时保持较小的占用空间,并尽可能减少处理开销或阻塞。您和您的团队可以使用 Edge Analytics 的完整信息中心和自定义报告功能来分析通过 Edge Microgateway 传输的流量。
图 6:Edge 上的“代理流量”信息中心

如需详细了解 Edge Analytics,请参阅分析信息中心。
Edge Microgateway 安全性简介
Apigee Edge 的作用
如前所述,Apigee Edge 在保护 Edge Microgateway 的所有客户端请求方面发挥着重要作用。Apigee Edge 的主要角色如下:
- 提供用作 API 密钥或用于生成有效访问令牌的客户端凭据,以便客户端通过 Edge Microgateway 进行安全的 API 调用。
- 提供 Edge Microgateway 需要的凭据,以便将 API 执行数据发送到 Apigee Edge Analytics 系统。Edge Microgateway 会在初始设置步骤期间获取这些凭据一次。(如需了解详细步骤,请参阅设置和配置 Edge Microgateway。)
- 提供用于将 API 资源捆绑到产品中、注册和管理开发者以及创建和管理开发者应用的平台。
客户端应用身份验证
- Edge Microgateway 支持通过访问令牌和 API 密钥进行客户端身份验证。对于每一次 API 调用,安全密钥和令牌由 Apigee Edge 生成,并由 Edge Microgateway 进行验证。
- 如果已启用 oauth 插件,Edge Microgateway 会检查已签名的访问令牌或 API 密钥,如果有效,API 调用会继续到后端目标。如果无效,则会返回错误。
- 如需了解获取和使用访问令牌所需的步骤,请参阅设置和配置 Edge Microgateway。 如需了解 API 密钥,请参阅 Edge Microgateway 的操作和配置参考文档中的“使用 API 密钥安全功能”。
Apigee Edge 上的 Edge Microgateway 身份验证
- Edge Microgateway 对 Apigee Edge 上的分析数据进行更新的异步调用需要身份验证。此身份验证通过通过 CLI 或使用环境变量传递给 Edge Microgateway 的公钥/私钥对提供。您在首次安装并启动 Edge Microgateway 时会获取并使用这些密钥一次。
API 产品管理平台
- Edge 是一个平台,可用于将 API 资源捆绑到产品中、注册和管理开发者,以及创建和管理开发者应用。例如,就像您可以为常规 Apigee Edge 代理创建和捆绑产品和开发者应用等实体一样,您也可以为 Edge Microgateway 代理执行完全相同的操作。通过为每个“bundle”生成公钥和私钥,实现了 API 级安全。此机制与 Apigee Edge 上的 API 安全性工作方式完全相同。
我可以将现有的 Edge 代理实现迁移到 Edge Microgateway 吗?
您无法将具有关联政策或有条件流的现有代理迁移到 Edge Microgateway。Edge Microgateway 要求您创建新的“Microgateway 感知”代理。这些代理必须使用特殊前缀 edgemicro_ 进行命名。启动时,Edge Microgateway 会发现这些 edgemicro_* 代理并下载每个代理的配置信息。这些信息包括目标网址和资源路径。之后便不会再使用这些代理。这些代理中的任何政策或条件流都不会执行。
需要使用 Microgateway 感知代理的另一个原因是,Edge Microgateway 会为每个 Microgateway 感知代理异步将分析数据推送到 Edge。然后,您可以像在 Edge Analytics 界面中查看任何其他代理的分析数据一样,查看 Microgateway 感知型代理的分析数据。
“设置”主题将引导您完成开始通过 Edge Microgateway 代理 API 调用的所有步骤,包括您需要在 Apigee Edge 上执行的一些简单步骤,以设置 Edge Microgateway 所需的配置,包括创建 Microgateway 感知代理。 请参阅设置和配置 Edge Microgateway。
我可以将政策与 Edge Microgateway 代理搭配使用吗?
如上一部分所述,您无法在 Apigee Edge 中将政策附加到“支持 Microgateway”的代理。Edge Microgateway 使用插件提供与 Edge 中的政策类似的功能,例如配额、突发流量抑制、API 密钥安全性和 OAuth2 安全性。请参阅使用插件。您还可以编写自定义插件,如开发自定义插件中所述。
如需了解 Edge Microgateway,哪种方式最合适?
Apigee 提供以下资源:
-
Edge Microgateway 文档 - 文档包含入门教程以及完整的参考和配置信息。
-
深入探讨的在线讲座 - 详细介绍 Edge Microgateway,并演示如何设置和配置 Edge Microgateway。
-
Edge Micro 论坛 - Apigee 社区中的 Edge Micro 论坛是一个很好的平台,您不仅可以提问,还可以从他人提出的问题和解答中受益。