Cloud Endpoints 简介

Endpoints 是一种分布式 API 管理系统,提供了 API 控制台、托管、日志记录、监控等功能,可帮助您创建、共享、维护和保护您的 API。 本页面简要介绍了适用于 gRPC 的 Cloud Endpoints。如需了解 Endpoints 支持的其他类型的 API 框架,请参阅所有 Endpoints 文档

Endpoints 可与分布式 Extensible Service Proxy (ESP) 或 Extensible Service Proxy V2 (ESPv2) 搭配使用。每个代理可为下述平台提供支持:

  • App Engine 柔性环境(仅 ESP)
  • Google Kubernetes Engine(ESP 或 ESPv2)
  • Compute Engine(ESP 或 ESPv2)
  • Kubernetes(ESP 或 ESPv2)
  • App Engine 标准环境(仅 ESPv2)
  • Cloud Functions(仅 ESPv2)
  • Cloud Run(仅 ESPv2)
  • Knative serving(仅限 ESPv2)

使用 ESP 的 Endpoints

Endpoints 采用分布式 Extensible Service Proxy (ESP) 提供低延迟的高性能服务,可满足最苛刻的 API 要求。ESP 是一种基于 NGINX 的服务代理,可以按需扩缩以处理同时发送至 API 的请求,让您安心无虞。ESP 在自己的 Docker 容器中运行,可以实现更好的隔离性和可伸缩性。此外,ESP 分布在 Container Registry 中。您可将它与以下平台搭配使用:

使用 ESPv2 的 Endpoints

ESPv2 是一种基于 Envoy 的可扩缩高性能代理,它在 OpenAPI 或 gRPC API 后端的前面运行。ESPv2 支持 OpenAPI 规范的第 2 版和 gRPC 规范。您可将它与以下平台搭配使用:

Endpoints API 管理功能

无论您是将 Endpoints 与 ESP 还是 ESPv2 搭配使用,它都可以提供许多重要的 API 管理功能,使您能够开发、监控和控制对 API 的访问权限。

日志和指标

Endpoints 使用 Service Infrastructure 来管理 API 并报告日志和指标。大多数 Google Cloud APIs 都使用这一基础架构。您可以在以下位置管理和监控您的 API: Google Cloud 控制台中的 Endpoint 服务页面。

API 托管

Endpoints 针对 Docker 容器环境进行了优化。您可以在支持 Docker 的任何环境中托管 API,但前提是该环境能够通过互联网访问 Google Cloud。

通过 Endpoints 开发 gRPC API

  1. 使用协议缓冲区定义 gRPC API 服务,并采用任何 gRPC 支持的语言实现该服务。

  2. 为 Endpoints 编写 gRPC API 服务配置。

  3. 为您的 API 生成运行时 API 配置,并将其部署到 Service Management。

  4. 部署您的 API 服务器。

如需详细了解如何将 Endpoints 与 gRPC 结合使用,请参阅适用于 gRPC API 的 Endpoints 及相关教程

控制 API 访问权限

Endpoints 让您将 API 配置为任何调用都需提供 API 密钥,并对该 API 密钥进行验证。您还可以使用 Google Cloud 控制台 与其他开发者共享您的 API,以便他们 可以启用您的 API 并生成 API 密钥进行调用。

对 API 用户进行身份验证

对于大多数 API 调用,在每次调用的另一端都有一个用户。API 密钥可以表明哪个应用正在调用您的 API,而身份验证流程则可确定哪个用户正在使用该应用。

请注意,您的 API 服务器仍需要决定通过身份验证的用户可对您的 API 执行哪些操作。如需了解详情,请参阅 Google Cloud 身份验证指南

后续步骤

  • 实践 Cloud Endpoints 快速入门中的操作,以熟悉部署步骤并查看 Endpoints 功能的实际效果。该快速入门使用脚本将示例 API 部署到 App Engine 柔性后端。

  • 逐步完成其中一个教程,详细了解如何使用 Endpoints。