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 vs 負載平衡器 vs 服務網格

在微服務網路的世界裡,這三個術語經常讓開發人員感到困惑。它們都管理流量,但它們服務於不同的目的並且在不同的層級運作。

1. 負載平衡器 (Load Balancer) - 交通警察#

負載平衡器(如 HAProxy 或 AWS ALB)主要關注可用性和可擴展性。
層級:通常是第 4 層(傳輸層),但也可以是第 7 層。
工作:「我有 10 台伺服器。我會將傳入的 1000 個請求平均分配給它們,這樣就不會有任何一台伺服器崩潰。」
智慧:低。它通常不關心請求的內容(如 User ID),只關心目標 IP/Port 邏輯。

2. API Gateway (接待員)#

API Gateway 是負載平衡器加上大量的應用程式邏輯。
層級:第 7 層(應用層)。
工作:「南北向 (North-South)」流量(Client 到 Server)。它管理進入您系統的入口。
智慧:高。它讀取 JWT Token、檢查速率限制、將 XML 轉換為 JSON,並根據 URL 路徑進行路由。
區別:它專注於業務需求(身份驗證、計費、監控)。

3. 服務網格 (Service Mesh) - 內部郵件系統#

服務網格(如 Istio 或 Linkerd)管理東西向 (East-West) 流量(Service 到 Service)。
情境:一旦 Gateway 允許請求進入,服務 A 可能需要呼叫服務 B,而服務 B 又呼叫服務 C。
工作:確保這些內部呼叫是可靠的(重試、斷路器)、安全的(服務之間的 mTLS)和可觀察的。
架構:通常實作為「Sidecar Proxy」(在每個微服務實例旁邊運行的微型伺服器)。

比較總結#

組件方向主要目標範例
負載平衡器南北向 (主要)分配 & 正常運行時間AWS ALB, Nginx (Basic)
API Gateway南北向安全地將 API 暴露給外部世界Kong, APISIX, AWS API Gateway
服務網格東西向可靠地連接內部微服務Istio, Linkerd, Consul

它們可以一起工作嗎?#

是的。 一個常見的架構是:
1.
流量到達 負載平衡器。
2.
LB 轉發到 API Gateway 叢集。
3.
Gateway 進行身份驗證並路由到 服務 A。
4.
服務 A 使用 服務網格 安全地呼叫服務 B。

關鍵要點#

負載平衡器 用於簡單的流量分配(第 4 層)。
API Gateways 用於將服務暴露給外部世界(南北向,第 7 層)。
服務網格 用於管理內部服務之間的通訊(東西向)。
下一步:準備好選擇一個了嗎?讓我們回顧 流行的 API Gateway 解決方案。
Modified at 2025-12-29 09:35:19
Previous
API Gateway 的關鍵功能
Next
流行 API Gateway 解決方案
Built with