Cloud Endpoints 简介

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

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

  • App Engine 柔性环境(仅 ESP)
  • Google Kubernetes Engine(ESP 或 ESPv2 Beta 版)
  • Compute Engine(ESP 或 ESPv2 Beta 版)
  • Kubernetes(ESP 或 ESPv2 Beta 版)
  • App Engine 标准环境(仅 ESPv2 Beta 版)
  • Cloud Functions(仅 ESPv2 Beta 版)
  • Cloud Run(仅 ESPv2 Beta 版)
  • Cloud Run for Anthos(仅 ESPv2 Beta 版)

使用 ESP 的 Endpoints

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

使用 ESPv2 Beta 版的 Endpoints

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

  • GKE
  • Compute Engine
  • Kubernetes
  • App Engine 标准环境
  • 云端函数
  • Cloud Run
  • Cloud Run for Anthos

Endpoints API 管理功能

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

日志和指标

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

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 Console 与其他开发者共享您的 API,以便他们能够启用您的 API 并生成 API 密钥进行调用。

对 API 用户进行身份验证

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

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

后续步骤

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

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