

# 了解持续部署的工作方式
<a name="understanding-continuous-deployment"></a>

以下主题说明了 CloudFront 持续部署的工作方式。

**Topics**
+ [将请求路由到暂存分配](#understanding-continuous-deployment-routing)
+ [基于权重的配置的会话粘性](#understanding-continuous-deployment-sessions)
+ [更新主分配和暂存分配](#updating-staging-and-primary-distributions)
+ [主分配和暂存分配不共享缓存](#staging-and-primary-no-shared-cache)

## 将请求路由到暂存分配
<a name="understanding-continuous-deployment-routing"></a>

在使用 CloudFront 持续部署时，您无需更改有关查看器请求的任何内容。查看器无法使用 DNS 名称、IP 地址或 CNAME 将请求直接发送到暂存分配。相反，查看器将请求发送到主（生产）分发，CloudFront 会根据持续部署策略中的流量配置设置将其中一些请求路由到暂存分配。有两种类型的流量配置：

**基于权重**  
基于权重的配置将指定百分比的查看器请求路由到暂存分配。在使用基于权重的配置时，您也可以启用*会话粘性*，这有助于确保 CloudFront 将来自同一查看器的请求视为单个会话的一部分。有关更多信息，请参阅 [基于权重的配置的会话粘性](#understanding-continuous-deployment-sessions)。

**基于标头**  
当查看器请求包含特定的 HTTP 标头（您可以指定标头和值）时，基于标头的配置会将请求路由到暂存分配。不包含指定的标头和值的请求将路由到主分配。在本地测试中或在您能够控制查看器请求时，此配置很有用。  
路由到暂存分配的标头必须包含前缀 `aws-cf-cd-`。

## 基于权重的配置的会话粘性
<a name="understanding-continuous-deployment-sessions"></a>

在使用基于权重的配置将流量路由到暂存分配时，您也可以启用*会话粘性*，这有助于确保 CloudFront 将来自同一查看器的请求视为单个会话的一部分。在启用会话粘性时，CloudFront 会设置 Cookie，以便单个会话中的来自同一查看器的所有请求都由一个分发（主分配或暂存分配）提供服务。

启用会话粘性时，还可以指定*空闲持续时间*。如果查看器在这段时间内处于空闲状态（未发送任何请求），则会话将过期，并且 CloudFront 会将来自该查看器的将来请求视为一个新会话。您可以将空闲持续时间指定为秒数，从 300（五分钟）到 3600（一小时）。

在以下情况下，CloudFront 将重置所有会话（甚至是活动会话）并将所有请求视为新会话：
+ 您禁用或启用持续部署策略
+ 您禁用或启用会话粘性设置

## 更新主分配和暂存分配
<a name="updating-staging-and-primary-distributions"></a>

当主分配附加了持续部署策略时，以下配置更改适用于主分配和暂存分配：
+ 所有缓存行为设置，包括默认缓存行为
+ 所有源设置（源和源组）
+ 自定义错误响应（错误页面）
+ 地理限制
+ 默认根对象
+ 日志记录设置
+ 描述（评论）

您还可以更新分发的配置中引用的外部资源，例如缓存策略、响应标头策略、CloudFront 函数或 Lambda@Edge 函数。

## 主分配和暂存分配不共享缓存
<a name="staging-and-primary-no-shared-cache"></a>

主分配和暂存分配不共享缓存。当 CloudFront 向暂存分配发送第一个请求时，其缓存为空。当请求到达暂存分配时，它会开始缓存响应（如果已配置为执行此操作）。