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:

  • 使应用开发者可以轻松使用您的服务。
  • 让您能够更改后端服务实现,而不会影响公共 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 开发者服务,您可以自动执行注册流程;也可以使用手动流程来控制访问权限。

创建 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 创建、安全、管理和运营提供全面的基础架构。

下图显示了 Edge 服务:

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

Edge API 运行时

Apigee Edge API 服务涉及创建和使用 API,无论您是以服务提供商的身份构建 API 代理,还是作为应用开发者使用 API、SDK 和其他便利服务,都是如此。

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 在云端或本地创建自己的开发者门户。

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

创收

创收功能可提供财务基础并建立关系,将您的开发者社区转变成实际展示数字资产的渠道。通过创收功能,您可以创建各种费率方案,以便针对 API 产品的使用向开发者收费,也可以在收益分成场景中向开发者付费。

方案包括预付费方案、后付费方案、固定费用方案、可变费率方案、“免费增值”方案、针对特定开发者量身定制的方案、面向开发者群体的方案等。此外,创收功能包括报告和结算功能。

如需了解详情,请参阅创收概览

边缘口味

Apigee Edge 提供以下类别:

  • 公有云:Apigee 用于维护环境的托管 SAAS 版本,让您可以专心构建服务并为这些服务定义 API。
  • Private Cloud:一种本地安装方式,您可以在其中控制硬件环境并负责安装、升级、维护和其他管理流程。

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

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

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

如需了解变种之间的差异列表,请参阅比较 Apigee 产品

这些 API 之间也存在细微差异,如 Edge for Public Cloud API 和 Private Cloud API 之间的差异中所述。

公有云支持免费和付费帐号。私有云要求有付费帐号。

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