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 是一個伺服器,它充當一組已定義 API 的單一入口點。
把它想像成大型企業大樓的 接待櫃台。
如果沒有櫃台,訪客(客戶端)將在大廳裡閒逛,敲門尋找他們需要的人。
有了櫃台(Gateway),訪客會去接待員那裡。接待員檢查他們的 ID(身份驗證),檢查時間表(授權),然後引導他們到確切的房間(路由)——甚至打電話叫人下來。

技術定義#

API Gateway 是一個專門的 反向代理 (Reverse Proxy) 實作。
1.
請求進入:客戶端發送請求到 https://api.example.com/orders/123。
2.
處理:Gateway 接收它。它可能會:
驗證 API Key。
記錄請求。
檢查使用者是否超過了他們的速率限制。
3.
路由:Gateway 知道 /orders 由位於內部 IP 10.0.0.5 的 Order Service 處理。它將請求轉發到那裡。
4.
回應輸出:Order Service 回覆 Gateway,Gateway 將回應轉發給客戶端。

為什麼我們需要它? (解耦)#

主要目標是 解耦 (Decoupling)。客戶端不需要知道後端是如何結構化的。
後端重構:您可以完全重寫後端,從 Java 單體變為 Go 微服務,更改 IP 位址和埠。只要 Gateway 保持公開 URL 不變 (/orders),客戶端程式碼就永遠不會崩潰。

集中的橫切關注點 (Centralized Cross-Cutting Concerns)#

「橫切關注點」是每個 API 都需要的東西,比如安全性和日誌記錄。
沒有 Gateway:每個微服務團隊(Team A, Team B, Team C)都必須為 Auth、SSL 和日誌記錄編寫程式碼。如果標準變更,每個人都必須更新他們的程式碼。
有 Gateway:您在 Gateway 層級實作 Auth 和 SSL 一次。微服務可以純粹專注於業務邏輯。

關鍵要點#

Gateway 是一個 反向代理,將客戶端與後端服務解耦。
它集中了像 身份驗證、日誌記錄和 SSL 終止 這樣的非功能需求,簡化了微服務開發。
下一步:現在我們知道它是什麼了,它實際上能做什麼?讓我們看看 API Gateway 的關鍵功能。
Modified at 2025-12-29 09:35:19
Previous
API Gateway:概覽
Next
API Gateway 的關鍵功能
Built with