比較配額和尖峰流量政策

本頁適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

請參考下方比較圖表,判斷要使用哪項政策來實現速率限制用途:

配額 SpikeArrest
其用途如下: 限制開發人員應用程式或開發人員在特定時間內可發出的 API 代理呼叫次數。SpikeArrest 政策較適合用於短時間間隔 (例如秒或分鐘) 的速率限制。如果需要準確計數,請考慮使用配額。 限制在特定 (通常是短時間) 期間內,所有消費者對 API Proxy 可發出的 API 呼叫次數。配額政策較適合用於設定較長時間間隔 (例如天、週、月或年) 的限制。
請勿用於:

請勿使用此功能保護 API 代理程式的目標後端,以免流量遽增。

請使用 SpikeArrest 政策。

請勿用於計算及限制應用程式在特定時間內可對 API 代理程式目標後端建立的連線數量。注意:如果應用程式需要精確計數,請使用配額政策。

儲存計數?
附加政策的最佳做法:

將其附加至 ProxyEndpoint Request PreFlow,通常是在驗證使用者後。

這可讓政策在 API Proxy 的進入點檢查配額計數器。

通常會附加至 ProxyEndpoint Request PreFlow,通常位於流程的開頭。

這麼做可在 API Proxy 的進入點提供尖峰防護。

達到上限時的 HTTP 狀態碼:

429 (服務無法使用)

429 (服務無法使用)

重點須知:
  • 配額計數器會儲存在 Cassandra 中。
  • 設定政策,以非同步方式同步處理計數器,以節省資源。
  • 非同步計數器同步處理可能會導致頻率限制回應延遲,導致呼叫量略微超出您設定的上限。
可讓您選擇「平滑」演算法或有效計數演算法。前者可平滑處理指定時間範圍內可發生的要求數量,後者則會限制指定時間範圍內可發生的要求總數,無論要求連續傳送的速度有多快。此外,平滑處理功能不會在各個訊息處理工具之間協調。
瞭解詳情: 配額政策 SpikeArrest 政策