SUS02-BP06 實作緩衝或調節,以扁平需求曲線 - AWS 建構良好的架構

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SUS02-BP06 實作緩衝或調節,以扁平需求曲線

緩衝和限流可讓需求曲線趨於扁平化,並減少您的工作負載所需的已佈建容量。

常見的反模式:

  • 您非必要地立即處理用戶端請求。

  • 您未分析用戶端要求的需求。

建立此最佳實務的優勢:讓需求曲線趨於扁平化,可減少工作負載所需的已佈建容量。減少已佈建的容量意味著較低的能源耗用量和環境影響。

未建立此最佳實務時的曝險等級:

實作指引

使工作負載需求曲線扁平化,有助於減少工作負載所需的已佈建容量,以及降低對環境造成的影響。假設某個工作負載的需求曲線如下圖所示。此工作負載有兩個尖峰,為了處理這些尖峰,已佈建了資源容量 (以橙色線顯示)。用於此工作負載的資源和能源並非由需求曲線底下的區域表示,而是已佈建的容量底下的區域,因為這兩個尖峰必須用已佈建的容量處理。

佈建容量波形,內含兩個需要大量佈建容量的相異尖峰。

需求曲線圖,內含兩個需要大量佈建容量的相異尖峰。

您可以使用緩衝或限流來修改需求曲線,並使尖峰趨緩,意即減少佈建容量和耗用的能源。在用戶端可以執行重試時實作限流。實作緩衝機制以儲存請求,並將處理的時間往後延遲。

顯示使用緩衝或限流建立平滑尖峰的工作負載的波形圖。

限流對需求曲線和佈建容量的影響。

實作步驟

  • 分析用戶端請求以確定如何予以回應。要考慮的問題包括:

    • 此請求是否可進行非同步處理?

    • 用戶端是否有重試能力?

  • 如果用戶端有重試功能,您可以實作限流,以告知來源若目前無法處理請求,則應稍後再試。

  • 針對無法執行重試的用戶端,需要實作緩衝區使需求曲線扁平化。緩衝會延遲請求處理,讓以不同速率執行的應用程式能夠有效地通訊。緩衝型方法使用佇列或串流來接受生產者傳出的訊息。消費者可讀取訊息並進行處理,允許以符合取用者業務要求的速度運作訊息。

  • 分析整體需求、變更率及所需的回應時間,以適當調整所需的調節或緩衝區大小。

資源

相關文件:

相關影片: