

 本白皮书仅供历史参考。有些内容可能已过时，有些链接可能不可用。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 快速迭代，保持敏捷
<a name="iterate-rapidly-stay-agile"></a>

 使用 Amazon API Gateway 并 AWS Lambda 构建 API 的逻辑层，可以简化 API 部署和版本管理，从而快速适应用户群不断变化的需求。

## 阶段部署
<a name="stage-deployment"></a>

 在 API Gateway 中部署 API 时，必须将部署与 API Gateway 阶段相关联——每个阶段都是 API 的快照，可供客户端应用程序调用。使用此惯例，您可以轻松地将应用程序部署到*开发*、*测试*、*阶段*或*生产*阶段，并在各个阶段之间移动部署。每次将 API 部署到某个阶段时，都要创建不同版本的 API，必要时可以恢复该版本。这些功能使现有功能和客户端依赖关系能够不受干扰地继续运行，同时新功能将作为单独的 API 版本发布。

## 与 Lambda 的解耦集成
<a name="decoupled-integration-with-lambda"></a>

 API Gateway 中的 API 和 Lambda 函数之间的集成可以使用 API Gateway 阶段变量和 Lambda 函数别名来解耦合。这简化并加快了 API 的部署。您可以在 API 中配置阶段变量，该变量可以指向 Lambda 函数中的特定别名，而不是直接在 API 中配置 Lambda 函数名称或别名。在部署过程中，将阶段变量值更改为指向 Lambda 函数别名，API 将在特定阶段在 Lambda 别名后面运行 Lambda 函数版本。

## Canary 版本部署
<a name="canary-release-deployment"></a>

Canary 发布是一种软件开发策略，其中部署新版本的 API 用于测试目的，而基础版本仍作为生产版本部署，以便在同一阶段进行正常操作。在金丝雀版本部署中，API 总流量随机分为生产版本和带有预配置比例的金丝雀版本。 APIs 在 API Gateway 中，可以针对金丝雀版本部署进行配置，以便在有限的用户群中测试新功能。

## 自定义域名
<a name="custom-domain-names"></a>

您可以为 API 提供直观的商业友好型网址名称，而不是 API Gateway 提供的网址。API Gateway 提供了为配置自定义域名的功能 APIs。使用自定义域名，您可以设置 API 的主机名，然后选择多级基本路径（例如`myservice``myservice/cat/v1`、或`myservice/dog/v2`）将备用 URL 映射到您的 API。