Apigee Edge 是什么?

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

Apigee Edge 是一个用于开发和管理 API 的平台。通过将代理层的服务前置,Edge 可为后端服务 API 提供抽象或 Facade,并提供安全性、速率限制、配额、分析等功能。

例如,您可以 观看这篇有关 Walgreens 如何使用 API 和 Apigee Edge 的网播,了解他们如何围绕照片打印、处方和其他服务提供丰富的应用生态系统。

构建您的第一个代理!

数字加速

通过此视频,您可以快速了解 Apigee 如何帮助您转型为数字化业务。

在服务管理和 API 管理之间选择

此视频可帮助您了解服务管理和 API 管理之间的重要区别。business.

在网络上提供服务

如今,公司希望在网络上提供其后端服务,以便移动设备和桌面设备上运行的应用可以使用这些服务。公司可能希望公开如下服务:提供产品价格和可用性信息、销售和订购服务、订单跟踪服务,以及客户端应用所需的任何其他服务。

公司通常会将服务作为一组 HTTP 端点公开。接着,客户端应用开发者向这些端点发出 HTTP 请求。然后,服务可能会以 XML 或 JSON 格式返回数据,使其返回客户端应用,具体取决于端点。

使用这些服务的客户端应用可作为移动设备或平板电脑的独立应用实现,可作为在浏览器中运行的 HTML5 应用实现,也可以作为可以向 HTTP 端点发出请求并使用任何响应数据的任何其他类型的应用。这些应用可能是由发布相关服务的同一公司开发和发布的,也可能由使用公开可用服务的第三方应用开发者开发和发布。

下图显示了此类型的模型:

某些类型的应用(例如移动应用、销售终端应用、合作伙伴和 Web 应用)会连接到后端服务,例如 ESB、SOA、应用服务器和数据库。

由于提供商通过网络提供其服务,因此他们必须确保已采取所有必要措施来保护和防护其服务免遭未经授权的访问。作为服务提供商,请考虑:

  • 安全性:如何控制对服务的访问权限以防止未经授权的访问?
  • 兼容性:您的服务是否可在不同平台和设备上运行?
  • 可衡量性:如何监控服务以确保它们可用?
  • 创收:如何跟踪客户对您服务的使用情况并向他们收费?
  • 以及许多其他注意事项

发布用于访问任何服务的客户端应用后,该服务提供商必须确保这些服务在随着时间推移添加、修改或删除这些服务时将继续正常运行。服务提供商还必须能够告知应用开发者对服务的任何更改,以确保客户端应用与这些服务保持同步。

客户端应用开发者尝试使用不同提供商的服务时将面临挑战。目前,服务提供商可以使用众多技术来公开其服务。同一客户端应用可能必须使用一种机制来使用一个提供商的服务,而使用不同的机制来使用其他提供商的服务。应用开发者甚至可以面临他们必须使用不同的机制来使用同一提供商的服务的情形。

通过 Apigee Edge 提供服务

借助 Apigee Edge,您可以使用在所有服务之间保持一致且定义明确的 API 来安全地访问您的服务,而不考虑服务实现。一致的 API:

  • 使应用开发者可以轻松使用您的服务。
  • 让您能够更改后端服务实现,而不会影响公共 API。
  • 让您能够利用分析、创收、开发者门户以及 Edge 内置的其他功能。

下图显示了一个由 Edge 处理从客户端应用发送至后端服务的请求的架构:

Apigee Edge 位于客户端应用与后端服务之间。

他们不会直接让应用开发者使用您的服务,而是访问在 Edge 上创建的 API 代理。API 代理充当公开 HTTP 端点到后端服务的映射。通过创建 API 代理,您可以让 Edge 处理保护您的服务所需的安全和授权任务,以及分析、监控和创收这些服务。

由于应用开发者向 API 代理发出 HTTP 请求,而不是直接向服务发出请求,因此开发者无需了解有关服务实现的任何信息。开发者需要了解的事项包括:

  • API 代理端点的网址。
  • 请求中传递的所有查询参数、标头或正文参数。
  • 任何必需的身份验证和授权凭据。
  • 响应的格式,包括响应数据格式,例如 XML 或 JSON。

API 代理会将应用开发者与后端服务隔离。因此,只要公共 API 保持一致,您就可以更改服务实现。通过维护一致的前端 API 后,现有客户端应用将继续运行,无论后端的变化如何。

您可以使用 API 代理上的政策向服务添加功能,而无需对后端服务进行任何更改。例如,您可以将政策添加到代理,以执行数据转换和过滤、添加安全性、执行条件逻辑或自定义代码,以及执行许多其他操作。请务必记住,您必须在 Edge(而不是后端服务器)上实现政策。

如需了解详情,请参阅了解 API 和 API 代理

创建 API 产品

API 代理是 Apigee Edge 上的 HTTP 端点,开发者用于访问后端服务。虽然可以,但通常并不提供单独的 API 代理。而是将一个或多个 API 代理分组到一个 API 产品中。

API 产品是 API 代理与服务计划组合的软件包。该服务计划可为 API 代理设置访问限制、提供安全性、允许监控和分析,以及提供其他功能。API 产品也是 Edge 用于授权访问和控制 API 访问的核心机制。

您在创建 API 产品时具有极大的灵活性。例如,多个 API 产品可以共享同一 API 代理。下图显示了三个 API 产品。请注意,所有产品都允许访问 API 代理 3,但只有产品 A 可以访问 API 代理 1。

产品 A 访问代理 1 和 3。产品 B 访问代理 3。产品 C 访问代理 2、3 和 4。

您可以为每个 API 产品设置不同的属性。例如,您可以提供一个访问限制低的 API 产品(例如每天 1000 个请求)来讨价还价。然后发布另一个 API 产品,提供对同一 API 代理的访问权限,但具有更高的访问限制,而且价格也更高。或者,您可以创建一个免费 API 产品,允许对服务进行只读访问,然后将 API 产品销售给允许读写权限的相同 API 代理。

如需了解详情,请参阅管理 API 产品

允许客户端应用访问您的 API 产品

当应用开发者决定他们访问您的服务时,他们必须先向您的 API 产品注册其客户端应用。

客户端应用需要密钥来调用与 API 产品关联的 API。

注册后,应用开发者将收到一个 API 密钥,然后必须在发送给 API 产品中包含的 API 代理的每个请求中包含 API 密钥。该密钥已经过身份验证,如果身份验证成功,则允许请求访问您的后端服务。

您可以随时撤消密钥,以便客户端应用无法再访问您的服务。或者,您可以定义密钥的时间限制,以便开发者必须在特定时间之后刷新密钥。

您可以决定如何处理开发者访问您的 API 产品的注册请求。通过使用 Apigee Edge Developer Services,您可以自动执行注册流程。也可以使用手动流程来控制访问权限

创建 API 产品并向开发者提供

  1. 创建一个或多个将公共网址映射到后端服务的 API 代理。
  2. 创建捆绑您的 API 代理的 API 产品。
  3. 部署您的 API 代理和 API 产品。
  4. 告知您的开发者,API 产品可用。

一旦应用开发者了解 API 产品的可用性,他们就会:

  1. 向您的 API 产品注册其客户端应用。
  2. 接收 API 产品的 API 密钥。
  3. 通过 API 代理(捆绑在 API 产品中)向您的服务发出请求,并通过每个请求传递 API 密钥。

Apigee Edge 的组件

Apigee Edge 包括 API 运行时、监控和分析功能以及开发者服务,这些服务一起为 API 创建、安全、管理和操作提供全面的基础架构。

下图显示了边缘服务:

开发者可以访问开发者生态系统,其中包括 SmartDocs、可自定义的门户、自助密钥管理和 SDK。应用和服务可以访问 API 运行时,其中包括网关、连接器、自定义代码、安全和管理 API。运维工程师可以访问监控和分析功能,包括业务报告、性能监控、自定义报告和轨迹。

Edge API 运行时

无论您是作为服务提供商还是作为应用开发者使用 API、SDK 和其他便利服务构建 API 代理,Apigee Edge API 服务都是关于创建和使用 API。

API 管理服务器提供用于添加和配置 API 代理、设置 API 产品以及管理应用开发者和客户端应用的工具。它会分流您的后端服务中的许多常见管理问题。添加 API 代理时,您可以将政策应用于 API 代理,以增强安全性、速率限制、调解、缓存等。您还可以通过应用自定义脚本、调用第三方 API 和服务等,自定义 API 代理的行为。如需了解详情,请参阅了解 API 和 API 代理

如果您是 Node.js 开发者,则可以将 Node.js 模块无缝添加到 Edge 中,以创建 API 和 API 混搭,同时利用 Edge 提供的各种优势,从消息转换到安全性再到分析。

边缘监控和分析

Apigee Edge API Analytics 提供功能强大的工具,方便您查看 API 的短期和长期使用趋势。您可以按热门开发者和应用细分自己的受众群体,按 API 方法了解使用情况,以了解在哪里投资,并为业务级别或运维级别信息创建自定义报告。

当数据通过 Edge 传递时,系统会收集多种默认类型的信息,包括网址、IP、API 调用信息的用户 ID、延迟时间、错误数据等。您可以创建政策以添加其他信息,例如标头、查询参数,以及从 XML 或 JSON 中提取的请求或响应的某些部分。这些信息会从实际请求/响应流中异步收集,因此不会对 API 性能产生任何影响。

管理界面允许您在浏览器中查看多个指标和维度,如下图所示:

一个分析信息中心,用于显示图表和表格形式的政策错误数量。

但是,您也可以通过命令行界面或 RESTful API 访问和控制分析服务。如需了解详情,请参阅 API Analytics 概览

边缘开发者生态系统

Apigee Edge 提供开发者服务,可帮助您:

  • 管理使用您的服务的应用开发者社区。
  • 与内部和外部开发者合作,正式建立与财务模型的关系。
  • 授权开发者参与和创建开发者门户。应用开发者会连接到您的门户,从而访问 API 文档,以详细了解公开的 API 产品并管理 API 密钥。

每个 Edge 客户都可以使用 Apigee Edge for Private Cloud 在云端或本地创建自己的开发者门户。

借助 Apigee Edge,您可以创建两种类型的门户:

创收

创收功能可提供财务基础架构和关系,将您的开发者社区转变为您的数字资产的实际渠道。借助创收功能,您可以创建多种费率方案,以根据情况向开发者收费,或者在收益分成场景中向开发者支付费用。

方案包括预付费方案、后付费方案、固定费率方案、可变费率方案、“免费增值”方案、针对特定开发者量身定制的方案、涵盖一组开发者的方案等。此外,创收还包括报告和结算设施。

如需了解详情,请参阅变现概览

Edge 的变种

Apigee Edge 具有以下变种:

  • 公共云:由 Apigee 托管的一个 SAAS 版本,您可以在其中维护环境,从而将精力集中放在构建服务和定义这些服务的 API。
  • 私有云:本地安装,您可以控制硬件环境,并负责安装、升级、维护和其他管理流程。

如果您对 Apigee Hybrid 版本感兴趣,请参阅以下 Apigee X 主题:

在功能上,公有云版和私有云版非常相似。不过,私有云版本支持公共云版本的所有功能。私有云不支持的功能包括:

  • 托管目标
  • 扩展程序
  • 集成式开发者门户(注意:支持基于 Drupal 的开发者门户)
  • API 监控
  • Sense

如需查看各个变种之间的差异列表,请参阅比较 Apigee 产品

这两个 API 之间也存在细微差异,如适用于公有云的 Edge API 与适用于私有云的 Edge API 之间的差异中所述。

公共云支持免费账号和付费账号。私有云需要付费账号。

为了完全支持本地安装,私有云版本包含 Apigee 管理服务器、Apache Cassandra NoSQL 数据库、OpenLDAP 服务器、消息路由器和消息处理器等组件。