API Gateway

  • 可以將回傳結果做 cache,減少後面 server 或是 Lambda 的負擔
  • API Gateway 可以很輕鬆的做到金絲雀部署 (canary deployment),金絲雀部署是指先讓一小部分的用戶測試新功能,如果沒問題再逐步擴大至全部用戶
    • 藍綠部署是指同時有新版本與舊版本,並且可以很方面的快速切換,但同一時間只會有一個環境在線上
  • API Gateway 可以調整流量限制 (throttling)
  • API gateway 只收資料傳輸量的費用,即 pay as you go
  • 可以根據 path 將請求送到不同的 backend
  • 可以根據 query string 將請求送到不同的 backend

Burst Limit VS Rate Limit

API Gate 可以調整流量限制 (Throttling),可以在左側選單中選擇 Protect 底下的 Throttling,其中又分為 Burst Limit 與 Rate Limit。

  • Burst Limit 代表你的 API 在同一時間最多可以處理幾個請求。
  • Rate Limit 代表你的 API 在一秒鐘內最多可以處理幾個請求。

[!NOTE]

所謂的 API Throttling,其實是一種用來限制用戶 API 請求數量的方式,用以保護後端不被大量請求癱瘓

API Throttling 有多種策略,最常見的策略是限制使用者在一定時間內可以發出的 API 請求數量。 除此之外還有令牌桶策略,設定一個有上限數量的令牌桶,令牌重新生成的速率固定, 用戶每發一次請求都會消耗一個令牌,令牌沒了就要等令牌重新生成才能發請求。 令牌桶策略可以允許偶發性的大量請求出現。


This site uses Just the Docs, a documentation theme for Jekyll.