在分散式系統盛行的今日, API(Application Programming Interface) 是串連所有服務的核心骨幹。它定義了系統間溝通的標準規則,讓不同語言、平台的服務得以有序對話。 API 是什麼?標準化合約的本質 API 本質上是一份 雙方議定的合約 ,規範請求格式、認證方式、資料結構與錯誤回應。呼叫方只需遵守介面規格,無須了解內部實作。目前主流風格包含三種: REST (以 HTTP 動詞操作資源)、 GraphQL (由客戶端精確指定所需欄位)、以及 gRPC (高效能二進位傳輸,適合微服務內部通訊)。三者各有適用場景,但核心理念相同:隱藏複雜性、暴露能力邊界。良好的 API 設計讓系統具備可替換性,單一服務的內部重構不影響任何使用者。 API 在分散式架構中的角色 在微服務或雲端架構中,API 扮演 唯一合法的跨服務通道 。每個服務透過 API Gateway 統一對外,實現認證、限流、日誌集中管理。這種設計帶來三項關鍵優勢: 邊界清晰 (各服務職責獨立)、 版本控管 (/v1、/v2 並存,平滑升級)、 可觀測性 (所有流量集中追蹤)。API Contract 的穩定性直接決定整個分散式系統的耦合程度;Contract-First 開發方式(先定義 OpenAPI Spec,再實作)已成為團隊協作的業界標準實踐。 GET /api/v1/users/42 Authorization: Bearer <token> HTTP/1.1 200 OK Content-Type: application/json { "id": 42, "name": "Alice", "role": "admin" } 💡 重點整理 API 是合約 :定義請求/回應規格,隱藏實作細節,降低系統耦合。 風格選型 :REST 適合公開介面,gRPC 適合內部高效能通訊,GraphQL 適合彈性查詢。 Contract-First :先撰寫 OpenAPI Spec,再進行實作,確保前後端並行開發。 Gateway 統一管控 :認證、限流、監控集中於 API Gateway,提升...