

# COST09-BP02 實作緩衝或調節機制來管理需求
<a name="cost_manage_demand_resources_buffer_throttle"></a>

 緩衝和調節機制會修改工作負載的需求，以消除任何尖峰時段。在用戶端執行重試時實作調節機制。實作緩衝機制以儲存請求，並將處理的時間往後延遲。確認調節和緩衝區經過設計，以便讓用戶端在所需時間內收到回應。 

 **若未建立此最佳實務，暴露的風險等級：** 低 

## 實作指引
<a name="implementation-guidance"></a>

**調節：** 如果需求來源具有重試功能，則您可以實作調節。調節會告知來源，如果目前無法服務請求，則應稍後再試。來源將等待一段時間，然後重新嘗試請求。實作調節的優點是限制最大資源量和工作負載成本。在 AWS 中，您可以使用 [Amazon API Gateway](https://aws.amazon.com/api-gateway/) 實作調節。如需實作調節的詳細資訊，請參閱 [Well-Architected 可靠性支柱白皮書](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) 。

**緩衝為主： **與調節類似，緩衝會延遲請求處理，讓以不同速率執行的應用程式能夠有效地通訊。緩衝為主方法使用佇列來接受生產者傳出的訊息 (工作單位)。消費者可讀取訊息並進行處理，允許以符合消費者業務要求的速度運作訊息。不必擔心生產者必須應付調節問題，例如資料耐用性和回壓 (由於消費者運作緩慢而導致生產者慢下來)。

在 AWS 中，有多重服務可供選擇以實作緩衝方法。[Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/) 是一個受管服務，可提供佇列，允許單一消費者讀取個別訊息。[Amazon Kinesis](https://aws.amazon.com/kinesis/) 可提供串流，允許許多消費者讀取相同訊息。

使用緩衝為主方法架構時，確保您的工作負載可在所需的時間內為請求提供服務，並且能夠處理重複的工作請求。

**實作步驟**
+ ** 分析用戶端要求： **分析用戶端請求，以判斷其是否能夠執行重試。針對無法執行重試的用戶端，則需要實作緩衝區。分析整體需求、變更率及所需的回應時間，以便判斷所需的調節或緩衝區大小。
+ ** 實作緩衝區或調節：** 在工作負載中實作緩衝區或調節。Amazon Simple Queue Service (Amazon SQS) 這類佇列可為工作負載元件提供緩衝區。Amazon API Gateway 可為您的工作負載元件提供調節機制。

## 資源
<a name="resources"></a>

 **相關文件：** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Amazon API Gateway](https://aws.amazon.com/api-gateway/) 
+  [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) 
+  [Amazon SQS 入門](https://aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [Amazon Kinesis](https://aws.amazon.com/kinesis/) 