API Academy
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Gateway
  • 歡迎
  • 目錄
  • API 學院
    • Get Started
      • 什麼是 API?
      • API 如何運作?
      • 如何呼叫 API?
      • 如何閱讀 API 文件?
      • 章節總結
    • API Fundamentals
      • API 基礎知識:概覽
      • 方法與路徑
      • 參數
      • 請求 Body
      • 回應
      • API 規格與 OAS
      • 章節總結
    • Working with APIs
      • 使用 API:概覽
      • 根據規格發送請求
      • 環境與變數
      • 串聯多個端點
      • 處理 Auth
      • 處理 API 簽名
      • 腳本介紹
      • 章節總結
    • Mocking APIs
      • Mocking API:概覽
      • Smart Mock
      • Mock 預期結果
      • Cloud Mock
      • Mock 腳本
      • 章節總結
    • Designing APIs
      • 設計 API:概覽
      • API 設計介紹
      • 建立您的第一個 API 專案
      • 分析需求並規劃您的 API
      • 設計資料模型
      • 設計端點
      • 使用組件與可重用性
      • 設定與 Auth
      • API 設計指南
      • 章節總結
    • Developing APIs
      • 開發 API:概覽
      • 設定:安裝您的 AI 程式碼助手
      • 快速入門:30 分鐘內從規格到運行的 API
      • 了解生成的程式碼
      • 使用 Apidog 測試您的 API
      • 部署:將您的 API 上線
      • 章節總結
    • Testing APIs
      • 測試 API:概覽
      • 快速入門:您的第一個測試場景
      • 整合測試與資料傳遞
      • 動態值
      • 斷言與驗證
      • 流程控制:If, For, ForEach
      • 資料驅動測試
      • 性能測試
      • 測試報告與分析
      • CI/CD 整合
      • 排程任務與自動化
      • 進階測試策略
      • 章節總結
    • API Documentations
      • API 文件:概覽
      • 發布您的第一個 API 文件
      • 自訂文件外觀
      • 給消費者的互動功能
      • 進階發布設定
      • 管理 API 版本
      • 章節總結
    • Advanced API Technologies
      • 進階 API 技術:概覽
      • GraphQL
      • gRPC
      • WebSocket
      • Socket.IO
      • Server-Sent Events
      • SOAP
      • 章節總結
    • API Lifecycle
      • API 生命周期:概覽
      • API 生命周期的階段
      • API 治理
      • API 安全最佳實踐
      • 監控與分析
      • API 版本策略
      • API 的未來
      • 章節總結
    • API Security
      • API 安全性:概覽
      • API 安全性基礎知識
      • 身份驗證 vs. 授權
      • 了解 OAuth 2.0 和 OpenID Connect
      • JSON Web Tokens (JWT)
      • OWASP API 安全 Top 10
      • 加密與 HTTPS
      • 章節總結
    • API Tools
      • API 工具:概覽
      • API 工具的演變
      • API Clients
      • 命令列工具 (cURL, HTTPie)
      • API 設計和文件工具
      • API Mocking 工具
      • API 測試工具
      • 一體化 API 平台
      • 章節總結
    • API Gateway
      • API Gateway:概覽
      • 什麼是 API Gateway?
      • API Gateway 的關鍵功能
      • API Gateway vs 負載平衡器 vs 服務網格
      • 流行 API Gateway 解決方案
      • BFF (Backend for Frontend) 模式
      • 章節總結
HomePetstore APIExplore more APIs
HomePetstore APIExplore more APIs
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
🌐 繁體中文
  • 🌐 English
  • 🌐 繁體中文
  1. API Gateway

API Gateway 的關鍵功能

雖然簡單的路由是核心功能,但現代 API Gateway 是提供廣泛功能的強大平台。以下是最關鍵的功能。

1. 路由和負載平衡#

最基本的功能。
基於路徑的路由:/users -> User Service, /products -> Product Service。
負載平衡:如果 User Service 有 3 個實例,Gateway 會在它們之間分配流量(輪詢、最少連接)以確保高可用性。

2. 身份驗證和授權 (Auth 卸載)#

與其讓每個微服務驗證 JWT,不如讓 Gateway 全域執行。
Gateway 檢查 Authorization Header。
如果有效,它將請求傳遞給後端(通常添加像 X-User-ID: 123 這樣的 Header,以便後端知道是誰)。
如果無效,它會立即返回 401,保護後端免受不良流量的影響。

3. 速率限制和節流 (Throttling)#

保護您的服務免受過度負荷(DDoS 或意外峰值)。
速率限制:「使用者 A 每分鐘可以發出 100 個請求。」
節流:「如果請求超過 1000/秒,則建立佇列,緩慢處理它們而不是丟棄它們。」
貨幣化:您可以銷售 API 層級(銅牌:100 次呼叫/天,金牌:無限),並在 Gateway 強制執行這些限制。

4. 協議轉換#

Gateway 可以在不同協議之間進行轉換。
範例:客戶端說經典 REST (HTTP/JSON),但舊版後端說 SOAP (XML),或現代後端說 gRPC。Gateway 會即時轉換 Payload。

5. 請求/回應轉換#

資料遮蔽:在將回應發送給客戶端之前,從回應中刪除敏感欄位(例如,刪除 credit_card_id)。
Header 修改:新增 Trace-ID Header 用於可觀察性。

6. 快取 (Caching)#

透過快取頻繁的讀取回應來減少後端的負載。
如果 10,000 個使用者請求「獲取產品類別」(這很少更改),Gateway 會提供快取版本,每 10 分鐘只會訪問資料庫一次。

7. 監控和分析#

由於所有流量都流經 Gateway,因此它是收集指標的完美場所。
錯誤率 (4xx, 5xx)。
延遲 (回應時間)。

關鍵要點#

Gateways 處理 道路交通(路由、負載平衡)和 安全性(Auth、速率限制)。
它們還可以執行 轉換(REST 到 gRPC)和 快取 以最佳化性能。
下一步:聽起來像負載平衡器,但它是嗎?讓我們在 API Gateway vs 負載平衡器 vs 服務網格 中釐清困惑。
Modified at 2025-12-29 09:35:19
Previous
什麼是 API Gateway?
Next
API Gateway vs 負載平衡器 vs 服務網格
Built with